コンテナーを実行している Docker をあるホストから別のホストに移動する方法が見つかりません。
イメージの場合のように、コンテナをリポジトリにプッシュする方法はありますか? 現在、コンテナー内で実行されているアプリケーションに関連するデータを格納するためにデータ ボリュームを使用していません。そのため、一部のデータはコンテナー内に存在するため、セットアップを再設計する前に保持したいと考えています。
コンテナーを実行している Docker をあるホストから別のホストに移動する方法が見つかりません。
イメージの場合のように、コンテナをリポジトリにプッシュする方法はありますか? 現在、コンテナー内で実行されているアプリケーションに関連するデータを格納するためにデータ ボリュームを使用していません。そのため、一部のデータはコンテナー内に存在するため、セットアップを再設計する前に保持したいと考えています。
または、リポジトリにプッシュしたくない場合:
コンテナを tarball にエクスポートする
docker export <CONTAINER ID> > /home/export.tar
tarball を新しいマシンに移動します
インポートして戻す
cat /home/export.tar | docker import - some-name:latest
実行中の Docker コンテナーをあるホストから別のホストに移動することはできません。
を使用してコンテナー内の変更をイメージにコミットし、docker commit
そのイメージを新しいホストに移動してから、を使用して新しいコンテナーを開始できdocker run
ます。これにより、アプリケーションがコンテナー内で作成したすべてのデータが保持されます。
注:ボリューム内に保存されているデータは保持されません。データ ボリュームを手動で新しいホストに移動する必要があります。
Docker ドキュメントから:
docker export
コンテナに関連付けられたボリュームの内容をエクスポートしません。ボリュームがコンテナー内の既存のディレクトリの上にマウントされている場合、ボリュームの内容ではなく、下にある ディレクトリdocker export
の内容がエクスポートされます。 ボリューム内のデータのエクスポートの例については、ユーザー ガイドの「データ ボリュームのバックアップ、復元、または移行」を参照してください。