多くの場合、移行は避けられません。ハードウェアのアップグレード、データ センターの変更、古いオペレーティング システムなど、これらすべてが移行のきっかけとなる可能性があります。 Docker コンテナの移行は、多くの場合、移行タスクの一部です。今日は、Docker コンテナを既存のサーバーから別のサーバーに移行するさまざまな方法について説明します。 Docker コンテナを別のサーバーに移行する方法。Docker コンテナをあるサーバーから別のサーバーに移行する直接的な方法はありません。次の方法の 1 つ以上を使用して、Docker コンテナの移行の問題を解決します。 1. コンテナの輸出入コンテナをエクスポートするとは、コンテナのファイル システムから圧縮ファイルを作成することを意味します。エクスポートされたファイルは「gzip」ファイルとして保存されます。 docker export コンテナ名 | gzip > コンテナ名.gz 次に、scp や rsync などのファイル転送ツールを使用して、圧縮ファイルを新しいサーバーにコピーします。新しいサーバーでは、この gzip ファイルが新しいコンテナーにインポートされます。 zcat コンテナ名.gz | docker import - コンテナ名 新しいサーバーで作成された新しいコンテナには、「docker run」コマンドを使用してアクセスできます。 コンテナのエクスポート ツールの欠点の 1 つは、コンテナのポートと変数がエクスポートされず、コンテナを含む基礎データもエクスポートされないことです。 これにより、別のサーバーでコンテナをロードしようとするとエラーが発生する可能性があります。この場合、コンテナをあるサーバーから別のサーバーに移行するために、Docker イメージの移行を選択します。 2. コンテナイメージの移行Docker コンテナを別のサーバーに移行する最も一般的な方法は、コンテナが関連付けられているイメージを移行することです。 移行する必要があるコンテナについては、まず「Docker commit」コマンドを使用して Docker イメージを圧縮ファイルに保存します。 docker commit コンテナID イメージ名 結果のイメージは圧縮されて新しいサーバーにアップロードされ、そこで「docker run」を使用して新しいコンテナが作成されます。 この方法では、データボリュームは移行されませんが、コンテナ内に作成されたアプリケーションのデータは保持されます。 3. 画像の保存と読み込みDocker イメージは、アプリケーションのコード、ライブラリ、構成ファイルなどのパッケージです。これらのイメージから Docker コンテナが作成されます。 「docker save」を使用してイメージを圧縮し、新しいサーバーに移行できます。 docker save イメージ名 > イメージ名.tar 新しいサーバーで、「docker load」を使用して、圧縮されたイメージ ファイルを使用して新しいイメージを作成します。 cat イメージ名.tar | docker load 4. データボリュームを移行するDocker コンテナ内のデータ ボリュームは、コンテナ固有のデータが含まれる共有ディレクトリです。ボリューム内のデータは永続的であり、コンテナの再作成時に失われることはありません。 エクスポート ツールまたはコミット ツールを使用して Docker コンテナーまたはイメージをあるサーバーから別のサーバーに移行する場合、基礎となるデータ ボリュームは移行されません。 この場合、データを含むディレクトリは手動で新しいサーバーに移行されます。次に、新しいサーバー上にコンテナを作成し、そのディレクトリをデータ ボリュームとして参照します。 もう 1 つの簡単な方法は、「docker run」コマンドに「-volumes from」パラメータを渡してデータ ボリュームをバックアップおよび復元することです。 docker run --rm --volumes-from データボリューム名 -v $(pwd):/backup イメージ名 tar cvf backup.tar /path-to-datavolume ここで、データボリューム名は /path/to/volume です。このコマンドは、データ ボリュームのバックアップを提供します。作業ディレクトリを指定するには、-w/backup を指定することもできます。 /backup フォルダに生成されたバックアップは、scp または ftp ツールを使用して新しいサーバーにコピーできます。コピーされたバックアップは抽出され、新しいコンテナのデータ ボリュームに復元されます。 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 コンテナは、DevOps や Web ベースのホスティングで広く使用されています。本日は、Docker エンジニアが管理する Docker インフラストラクチャ内の別のサーバーに Docker コンテナを移行するさまざまな方法について説明しました。 これで、Docker コンテナを他のサーバーに移行する 5 つの方法についての記事は終了です。Docker コンテナをサーバーに移行する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: Vue がコンポーネント間の通信を実現するいくつかの方法 (複数のシナリオ)
1. イジェクトが推奨されないのはなぜですか? 1. eject を実行した後、どのような変化があり...
最近のブラウザでは、CSS 内で JavaScript を実行することはできなくなりました。以前は、...
MySQL を使用する場合、日付は通常、datetime や timestamp などの形式で保存さ...
目次1. はじめに2. Vue JS のパフォーマンス最適化が必要な理由は何ですか? 3. Vueの...
目次1. 場所オブジェクト1. URL 2. 場所オブジェクトのプロパティ3. ロケーションオブジェ...
目次1. 基本的な使い方2. 画像量の制御3. 画像形式の制限/複数の画像を選択可能補足: vueプ...
MySQL 5.7.27のインストールチュートリアルは以下のように記録され、皆さんと共有されています...
「Tik Tok」も大人気で、ユーザー数は7億人と言われています。今日は、注目を集めるためにTikT...
1. ショートカットCtrl + Shift + Pを使用してコンソールを呼び出します 2、「スニペ...
この記事では、最も単純なビデオ連射機能をシミュレートするデモを作成します。アイデア:再生する動画と同...
目次成果を達成する転がり荷重知識備蓄コンポーネントのパッケージ1. コンポーネントの命名2. 小道具...
効果プレビュー右側の「クリックしてプレビュー」ボタンを押すと現在のページでプレビューが表示され、リン...
コードをコピーコードは次のとおりです。 <html> <本文> <?p...
目次QRコードログインの真髄QRコードを理解するシステム認証メカニズムQRコードをスキャンしてログイ...
この記事では、jQueryツリービューツリー構造のアプリケーションコードを例として紹介します。具体的...