124

コンテナーを実行している Docker をあるホストから別のホストに移動する方法が見つかりません。

イメージの場合のように、コンテナをリポジトリにプッシュする方法はありますか? 現在、コンテナー内で実行されているアプリケーションに関連するデータを格納するためにデータ ボリュームを使用していません。そのため、一部のデータはコンテナー内に存在するため、セットアップを再設計する前に保持したいと考えています。

4

7 に答える 7

113

または、リポジトリにプッシュしたくない場合:

  1. コンテナを tarball にエクスポートする

    docker export <CONTAINER ID> > /home/export.tar
    
  2. tarball を新しいマシンに移動します

  3. インポートして戻す

    cat /home/export.tar | docker import - some-name:latest
    
于 2015-02-26T20:07:19.350 に答える
78

実行中の Docker コンテナーをあるホストから別のホストに移動することはできません。

を使用してコンテナー内の変更をイメージにコミットし、docker commitそのイメージを新しいホストに移動してから、を使用して新しいコンテナーを開始できdocker runます。これにより、アプリケーションがコンテナー内で作成したすべてのデータが保持されます。

注:ボリューム内に保存されているデータは保持されません。データ ボリュームを手動で新しいホストに移動する必要があります。

于 2015-02-26T03:50:58.913 に答える
19

Docker ドキュメントから:

docker exportコンテナに関連付けられたボリュームの内容をエクスポートしません。ボリュームがコンテナー内の既存のディレクトリの上にマウントされている場合、ボリュームの内容ではなく、にある ディレクトリdocker exportの内容がエクスポートされます。 ボリューム内のデータのエクスポートの例については、ユーザー ガイドの「データ ボリュームのバックアップ、復元、または移行」を参照してください。

于 2015-08-08T10:52:48.940 に答える