Docker コンテナを他のサーバーに移行する 5 つの方法

Docker コンテナを他のサーバーに移行する 5 つの方法

[[388254]]

多くの場合、移行は避けられません。ハードウェアのアップグレード、データ センターの変更、古いオペレーティング システムなど、これらすべてが移行のきっかけとなる可能性があります。

Docker コンテナの移行は、多くの場合、移行タスクの一部です。今日は、Docker コンテナを既存のサーバーから別のサーバーに移行するさまざまな方法について説明します。

Docker コンテナを別のサーバーに移行する方法。 Docker コンテナをあるサーバーから別のサーバーに直接移行する方法はありません。以下の 1 つ以上の方法を使用して、Docker コンテナの移行の問題を解決します。

1. コンテナの輸出入

コンテナをエクスポートするということは、コンテナのファイル システムから圧縮ファイルを作成することを意味します。エクスポートされたファイルは「gzip」ファイルとして保存されます。

  1. docker エクスポート コンテナ| gzip > コンテナ.gz

次に、scp や rsync などのファイル転送ツールを使用して、圧縮ファイルを新しいサーバーにコピーします。新しいサーバーでは、この gzip ファイルが新しいコンテナーにインポートされます。

  1. zcat コンテナ.gz | docker import - コンテナ 

新しいサーバーで作成された新しいコンテナには、「docker run」コマンドを使用してアクセスできます。

コンテナのエクスポート ツールの欠点の 1 つは、コンテナのポートと変数がエクスポートされず、コンテナを含む基礎データもエクスポートされないことです。

これにより、別のサーバーにコンテナをロードしようとするとエラーが発生する可能性があります。この場合、コンテナをあるサーバーから別のサーバーに移行するために、Docker イメージの移行を選択します。

2. コンテナイメージの移行

Docker コンテナを別のサーバーに移行する最も一般的な方法は、コンテナが関連付けられているイメージを移行することです。

移行する必要があるコンテナについては、まず「Docker commit」コマンドを使用して Docker イメージを圧縮ファイルに保存します。

  1. docker commitコンテナID イメージ 

結果のイメージは圧縮されて新しいサーバーにアップロードされ、そこで「docker run」を使用して新しいコンテナが作成されます。

この方法では、データボリュームは移行されませんが、コンテナ内に作成されたアプリケーションのデータは保持されます。

3. 画像の保存と読み込み

Docker イメージは、アプリケーションのコード、ライブラリ、構成ファイルなどのパッケージです。Docker コンテナはこれらのイメージから作成されます。

「docker save」を使用してイメージを圧縮し、新しいサーバーに移行できます。

  1. docker save イメージ> イメージ.tar

新しいサーバーで、「docker load」を使用して、圧縮されたイメージ ファイルを使用して新しいイメージを作成します。

  1. cat イメージ.tar |ドッカーロード 

4. データボリュームを移行する

Docker コンテナ内のデータ ボリュームは、コンテナ固有のデータが含まれる共有ディレクトリです。ボリューム内のデータは永続的であり、コンテナの再作成時に失われることはありません。

エクスポート ツールまたはコミット ツールを使用して Docker コンテナーまたはイメージをあるサーバーから別のサーバーに移行する場合、基礎となるデータ ボリュームは移行されません。

この場合、データを含むディレクトリは手動で新しいサーバーに移行されます。次に、新しいサーバー上にコンテナを作成し、そのディレクトリをデータ ボリュームとして参照します。

もう 1 つの簡単な方法は、「docker run」コマンドに「-volumes from」パラメータを渡してデータ ボリュームをバックアップおよび復元することです。

  1. docker run --rm --volumes-from データボリューム名 -v $(pwd):/backup イメージ名 tar cvf backup.tar /path-to-datavolume  

ここで、データボリューム名は /path/to/volume です。このコマンドは、データ ボリュームのバックアップを提供します。作業ディレクトリを指定するには、-w/backup を指定することもできます。 /backup フォルダに生成されたバックアップは、scp または ftp ツールを使用して新しいサーバーにコピーできます。コピーされたバックアップは抽出され、新しいコンテナのデータ ボリュームに復元されます。

  1. docker run --rm --volumes-from データボリューム名 -v $(pwd):/backup イメージ名 bash -c "cd /path-to-datavolume && tar xvf /backup/backup.tar --strip 1"  

5. Dockerコンテナ全体を移行する

ここで紹介したアプローチは、単一のコンテナに対して機能します。しかし、すべてのコンテナをあるサーバーから別のサーバーに移行する必要がある場合は、別のアプローチを採用します。

この方法では、docker ディレクトリ全体 (「/var/lib/docker」) を新しいサーバーにコピーします。このアプローチを成功させるには、いくつかの重要なポイントを特定する必要があります。

  • フォルダーの権限と所有権を保持します。
  • 移行前に Docker サービスを停止します。
  • 両方のサーバーの Docker バージョンに互換性があることを確認します。
  • 移行前と移行後にコンテナ リストと機能を検証します。
  • 環境変数およびその他の構成ファイルへのパス。

何らかの障害によりこの方法が機能しない場合は、コンテナとイメージをあるサーバーから別のサーバーに移行するためのカスタム スクリプトを構成します。

結論: Docker コンテナは、DevOps や Web ベースのホスティングで広く使用されています。今日は、Docker エンジニアが管理する Docker インフラストラクチャ内の別のサーバーに Docker コンテナを移行するさまざまな方法について説明しました。

※この記事は https://bobcares.com/blog/move-docker-container-to-another-host/ から翻訳したものです。著作権侵害があった場合は削除するためにご連絡ください

<<:  ICTとクラウドコンピューティングの主なトレンドはエッジコンピューティングになる

>>:  1つの記事で完了! Saga 分散トランザクションを 10 分で説明する

推薦する

アプリのプロモーション:アプリストアやその他のプロモーション チャネルに掲載する前の準備!

アプリが開発されたら、次のステップでは当然アプリの宣伝に重点が置かれることになります。部隊が移動する...

Cloudcone: 3 周年、強力で安価な VPS 2 つ、3.99 USD/4G メモリ/2 コア/100g SSD/3T トラフィック

Cloudcone は、親会社が長い歴史を持つものの、新しいブランドとしては設立されてまだ 3 年し...

Emissary Ingress を OPA と統合する方法

翻訳者 |李睿校正:孫淑娟API ゲートウェイは、マイクロサービスを公開する上で重要な役割を果たしま...

テンセントIDC製品群は、新しいインフラの進歩を促進するためにフルシナリオのサービスエコシステムを構築します

[51CTO.com からのオリジナル記事] データ センターは、情報が集中的に処理、保存、交換され...

中国オープンソースクラウドコンピューティングユーザーカンファレンス:オープンソースクラウドアーキテクチャがトレンドに

[51CTO.com からのオリジナル記事] 長年の開発を経て、オープンソース ソフトウェアはソフト...

投資を探すとき、スタートアップをどのように評価しますか?

よく、企業が資金調達をしようとしているときや買収交渉をしているときに、この質問を受けます。「私の会社...

Kubernetes ベースの Nacos 高可用性クラスターを実行する方法

Nacos (Namings and Configuration Management) は、Ali...

Sharktech データセンター: 159 ドル/2*E5-2670 販売中 | 10Gbps 無制限データ

15 年の歴史を持つ高防御サーバー販売業者 Sharktech (Shark Data Center...

文和:3週間、企業ウェブサイトSEOの実践ケーススタディ

最近、多くの初心者から「検索エンジンがホームページを更新しないのはなぜですか?」という質問を受けるよ...

Weiboマーケティングをうまく行うには?

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスWeibo が初めてリリ...

SAP Concur: 2019 年の出張・経費管理で注目すべき 6 つのポイント

グローバル化とデジタル化が経済発展のキーワードとなっている現在、中国企業は国内外の急速に変化する市場...

tmthosting: シアトルの高セキュリティ VPS、年間 29 ドル、Windows システム、IPv6 サポート

tmthosting のシアトル VPS が 55% オフで販売されています。データ センターは米国...

こんにちは。ダイアログ ボックス Web サイトのダイアログ ボックスのデザインを、よりユーザーフレンドリーにするにはどうすればよいでしょうか?

「どうしたの?」特定の種類のダイアログ ボックスに慣れていない限り、ダイアログ ボックスが表示された...

経験: 自然なトラフィッククリックはより安定したキーワードランキングを獲得できる

ウェブサイトのキーワードが良いランキングを獲得した後、多くのウェブマスターは喜びに浸りますが、このと...

Baidu の外部リンク ツールの統計における外部リンクが不完全なのはなぜですか?

百度は11月25日、百度ウェブマスターツールの外部リンク検索ツールのベータ版をリリースした。武漢SE...