2017-07-30 17 views
2

個人用コンピュータでDockerコンテナを実行しているとします。そのコンテナを友人マシンに移行したいとします。ここで問題となるのは、コンテナが無限ループプログラムを実行していて、そのプログラムを強制終了したくないということです。代わりに、私はコンテナを一時停止し、コンテナを圧縮してから私の友人システムに送りたいと思う。ドッカーコンテナをあるマシンから別のマシンに移行するにはどうすればよいですか?

仮想マシンを使用すると可能です。仮想マシンを一時停止し、ファイルを圧縮して、必要な場所に出荷します。 Dockerで同じことを行う方法は?

私が間違っていると私を修正してください - ドッカーのコンテナを一時停止し、そのコンテナを別のマシンに移動することは可能だと思います。もしそうなら、私に教えてください?

答えて

1

かなり可能です。現在のコンテナを一時停止し、docker export container_id -o my_container.tar(これは一時停止したインスタンスでも可能です)のイメージをTARファイルにエクスポートします。ファイルをコピーし、docker import containerid -o my_container.tarでインポートしてから、新しいマシンにdocker runという新しいコンテナを作成してください。コンテナIDはdocker psで取得できます。

+0

'docker export'コマンドはボリュームを保存しません。 –

+0

@RicardoBranco現在のインスタンスをエクスポートします。つまり、必要なものです。 – fg78nc

+3

OPが期待するほど簡単ではありません。インポート/エクスポートの前後にボリュームをロード/保存するためのスクリプトを作成しました。 https://github.com/ricardobranco777/docker-volumes.sh –

関連する問題