実行されていない過剰なDockerコンテナーについて心配する必要がありますか?


142

すべてのdocker runコマンド、またはすべてRUN Dockerfile内のコマンドがコンテナーを作成します。コンテナがもう実行されていない場合でも、で確認できdocker ps -aます。

実行されていないコンテナの膨大なリストを心配する必要がありますか?発行する必要がありますdocker rm実行されていないコンテナするますか?

これらの実行されていないコンテナがどのようなパフォーマンスまたはメモリ/ストレージのペナルティを被るかはわかりません。


1
docker execコマンドは、しばらく前に追加されている、参照docs.docker.com/reference/commandline/cli/#exec -それは実行中のコンテナOFFコマンドを実行します。
Schmunk、2014

:あなたは、古いコンテナを削除する方法を確認したい場合はFYI、この質問を参照stackoverflow.com/questions/17236796/...
ライアン壁

1
@schmunkリンクが移動しました。docs.docker.com/engine/reference/commandline/exec
akauppi

回答:


72

実行されていないコンテナは、ディスク領域以外のシステムリソースを使用していません。

通常は自分でクリーンアップすることをお勧めしますが、周りにたくさん座っている場合でも、パフォーマンスが低下することはありません。

多数の停止コンテナでdockerコマンドを実行しているときに速度が低下していることに気付いた場合、それはdockerのバグである可能性があるため、バグを送信する必要があります。


1
RUNコマンドのドキュメントは次の場所に移動しました:docs.docker.io/en/latest/reference/builder/#run
aculich

63

docker runドキュメントは自動的にコンテナをクリーンアップしたときに、コンテナが終了ファイルシステムを削除する方法について説明します。

  --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つのターミナルウィンドウにDockerコンテナーをリストします。

watch -n1 'sudo ls -c /var/lib/docker/containers'

次に、別のウィンドウでこのコマンドを実行して、最大10秒間スリープした後にすべて自動的に終了する複数のDockerコンテナーを実行します。

for i in {1..10}; do sudo docker run --rm ubuntu /bin/sleep $i & done

4
ないへの直接の答え質問が、ドッキングウィンドウの背後にあるメカニズムにユーザーにいくつかの洞察力を与えるだろう興味深い答え。ありがとう!
thaJeztah 2014年

3
-rmは非推奨であり、いつか削除される予定です--rm。代わりに使用 してください。
ベイン

5

ボリュームを含むコンテナーを実行し、Docker rm -vを使用してそれを削除しない場合、コンテナーを削除してもボリュームは削除されません。また、vfsストレージドライバーにも問題があります。クリーニングを忘れると、ボリュームがディスク領域を使い果たしてしまいます。


2

これらの実行されていないコンテナがどのようなパフォーマンスまたはメモリ/ストレージのペナルティを被るかはわかりません。

実行されていないDockerコンテナーが使用しているストレージの量を評価するには、次のコマンドを実行します。

docker ps --size --filter "status=exited"

同様に、次のコマンドを実行できます。docker container ls --filter "status=exited"

コマンドdocker system df(Docker 1.13.0、January 2017で導入)を使用して、Dockerディスクの使用状況を確認することもできます。例:

username@server:~$ docker system df
TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              44                  28                  114.7GB             84.84GB (73%)
Containers          86                  7                   62.43GB             41.67GB (66%)
Local Volumes       2                   1                   0B                  0B
Build Cache                                                 0B                  0B
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.