Docker コンテナーを一時停止し、後で再開したいと考えています。これはどのように行うことができますか?一時停止とは、進行中のプロセス (ビデオ エンコーディングなど) の状態を保存し、いつでも再開する必要があることを意味します。
5 に答える
バージョン 0.12.0の時点で、Docker は、 cgroup フリーザーを使用してコンテナーを一時停止および再開するコマンドをサポートPAUSE
しています。UNPAUSE
私の知る限り、現在、純粋な docker では実行できませんが、lxc はそれをサポートしています。私は
docker を少しいじり、lxc-freeze -n <containtr.id>
操作を再開するため
にこれを行うことができることを確認しましたがlxc-unfreeze -n <container.id>
、v0.2.0 では docker ps は -notrunc を使用してもコンテナー ID を短縮するだけであり、lxc-ls の出力は私のシステムでは空です (奇妙なdocker は params 付きのプレーンな lxc-start を使用するため、lxc-ps はこれを表示する必要があるため、詳細を読む必要があります)。で完全なコンテナ ID が見つかりましたlxc-ps
。docker freeze コマンドを追加するとよいでしょう。たぶん、私がいくつかの方法を学ぶ時が来ました:)
Docker は、(まだ) 文書化されていないボリュームとデータ ストレージ機能セットをリリースしました。tl;dr コマンドライン オプションを使用すると、パスを指定して、コンテナの外側で FULL_ID を見つけることができる-v
特別なドッカー パス ( ) にマップできます。例として、ディレクトリを docker ボリュームに外部化します。/var/lib/docker/volumes/{FULL_ID}
docker inspect container_id
docker run -d -v /data danielvf/myapp:1.0 runapp
/data
https://github.com/dotcloud/docker/issues/111
この機能のロードマップ: (その存在はまだ文書化されていません): https://github.com/dotcloud/docker/wiki/Volumes-&-persistent-data-storage