すべてdocker run
コマンド、またはDockerfile内のすべてのRUN
コマンドはコンテナを作成します。コンテナがもはや実行されていない場合は、docker ps -a
と表示されます。余計な稼動していないDockerコンテナについて心配すべきでしょうか?
非稼動コンテナの膨大なリストが必要なのはどうですか?非稼働のコンテナにdocker rm
を発行する必要がありますか?
これらの非稼働中のコンテナで発生するパフォーマンスまたはメモリ/ストレージのペナルティは不明です。
すべてdocker run
コマンド、またはDockerfile内のすべてのRUN
コマンドはコンテナを作成します。コンテナがもはや実行されていない場合は、docker ps -a
と表示されます。余計な稼動していないDockerコンテナについて心配すべきでしょうか?
非稼動コンテナの膨大なリストが必要なのはどうですか?非稼働のコンテナにdocker rm
を発行する必要がありますか?
これらの非稼働中のコンテナで発生するパフォーマンスまたはメモリ/ストレージのペナルティは不明です。
実行されていないコンテナは、ディスク領域以外のシステムリソースを使用していません。
通常、あなた自身の後でクリーンアップするのが良いですが、周りにたくさん座っているとパフォーマンスが低下することはありません。
停止したコンテナがたくさんあるドッカーコマンドを実行すると速度が低下する場合は、ドッカーのバグかもしれないので、バグを提出する必要があります。
'RUN'コマンドのドキュメントはhttp://docs.docker.io/en/latest/reference/builder/に移動しました。 #run – aculich
docker run
documentationが自動的にコンテナをクリーンアップしたときに、コンテナが終了ファイルシステムを削除する方法について説明します。
--rm=false: Automatically remove the container when it exits (incompatible with -d)
デフォルトのコンテナでは削除されないことが、上記のショーを、しかし--rm=true
か、単に短期の追加手--rm
はそうのように動作します:
sudo docker run -i -t --rm ubuntu /bin/bash
それは自動的に削除されますコンテナからあなたの出口を。
あなたは1つのターミナルウィンドウにドッキングウィンドウのコンテナをリストすることによってこれをテストすることができます
watch -n1 'sudo ls -c /var/lib/docker/containers'
そして、別のウィンドウで複数のドッキングウィンドウコンテナを実行するには、このコマンドを実行してその意志すべて自動的に終了し、最大10秒間スリープした後。
for i in {1..10}; do sudo docker run --rm ubuntu /bin/sleep $i & done
ボリュームとコンテナを実行し、コンテナを削除した後、ボリュームが削除されていないし、それを削除するにはドッキングウィンドウは、rm -vを使用しない場合。また、vfsストレージドライバを持つissueもあります。きれいにすることを忘れた場合、ボリュームはディスク容量を使い果たします。
もう少し前に 'docker exec'コマンドが追加されました。https://docs.docker.com/reference/commandline/cli/#execを参照してください - 実行中のコンテナからコマンドを実行します。 – schmunk
参考までに、古いコンテナを削除する方法については、この質問をご覧ください。http://stackoverflow.com/questions/17236796/how-to-remove-old-docker-containers/29474367 –
@schmunkリンクが移動しました。 https://docs.docker.com/engine/reference/commandline/exec/ – akauppi