プロジェクトのテストとデプロイに関しては、コンテナーは素晴らしいものです。ただし、複数のコンテナを作成すると、コンテナはすぐにディスク領域を消費する可能性があります。
このDocker初心者向けチュートリアルでは、Dockerコンテナを削除する方法を紹介します。
最も単純な形式では、dockerrmコマンドを使用してdockerコンテナーを削除できます。
docker rm container_id_or_name
すべてのコンテナを削除する場合は、最初に実行中のコンテナを停止してから削除します。
docker ps -q | xargs docker stop
docker ps -q | xargs docker rm
しかし、コンテナを使っていつもシンプルな生活を送るとは限りません。そのため、Dockerコンテナを削除できるさまざまなシナリオを紹介します。

ご想像のとおり、コンテナを削除するには、その名前またはIDを知っている必要があります。次のようなdockerpsコマンドを使用して、システム上のすべてのdockerコンテナー(停止中と実行中の両方)を確認できます。
[email protected]:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
07e97581c5d8 debian "bash" 9 minutes ago Up 9 minutes container2
6ef4545eef37 ubuntu "bash" 11 minutes ago Up 11 minutes container1
707e40ce3c5a ubuntu "/bin/bash" 15 minutes ago Exited (0) 15 minutes ago boring_payne
8047ab8e3673 ubuntu "/bin/bash" 34 minutes ago Exited (0) 15 minutes ago relaxed_wiles
ce84231ab213 debian "bash" 42 minutes ago Exited (0) 42 minutes ago bold_golick
12a18eaa291b hello-world "/hello" 2 days ago Exited (0) 2 days ago brave_mendeleev
最初の列はコンテナIDを示し、最後の列はコンテナ名を示します。また、実行中のDockerコンテナの[ステータス]列に「アップ」が表示されていることにも気付くでしょう。
コンテナIDと名前を取得する方法がわかったので、それを削除する方法を見てみましょう。
これが最も簡単です。コンテナIDまたは名前は次のように使用します:
docker rm container_id_or_name
出力でコンテナが削除されたようなメッセージは表示されません。指定したコンテナIDまたは名前が表示されるだけです。
[email protected]:~$ docker rm 12a18eaa291b
12a18eaa291b
コンテナが実行されていて、それを削除しようとすると、次のようなエラーが表示されます:
[email protected]:~$ docker rm container1
Error response from daemon: You cannot remove a running container 6ef4545eef378788e5e9d7ac1cf2e0a717480608adb432be99fd9b3d3a604c12. Stop the container before attempting removal or force remove
明らかに、最初にDockerコンテナーを停止してから、削除する必要があります。
docker stop container_id_or_name
docker rm container_id_or_name
実行中のDockerコンテナを強制的に削除します(非推奨)
Dockerには、コンテナーを強制的に削除するための-fオプションがあります。これにより、実行中のコンテナを削除できます:
docker rm -f container_id_or_name
これはkillコマンドを送信し、コンテナがその状態を保存しない可能性があるため、お勧めしません。
削除中に複数のDockerコンテナを指定できます:
docker rm container1 container2 container3
この例では、dockerimageubuntuに関連付けられているすべてのコンテナを削除するとします。
最初にコンテナを停止することをお勧めします:
docker ps -a -q --filter ancestor=ubuntu | xargs docker stop
次に、これらのコンテナを削除します:
docker ps -a -q --filter ancestor=ubuntu | xargs docker rm
上記のコマンドを説明するために、docker ps
コマンド出力は、ubuntuイメージに関連付けられたコンテナーでフィルター処理され、次に-q
オプションは、コンテナIDのみを指定します。これをxargsコマンドと組み合わせて、コンテナーID(Ubuntuに関連付けられている)をdockerrmコマンドにフィードします。
停止したすべてのコンテナを削除する場合は、ステータスでフィルタリングしてから、次の方法で停止できます。
docker ps -a -q -f status=exited | xargs docker rm
システムからすべてのコンテナを削除する場合は、最初にすべてのコンテナを停止してから削除する必要があります。
docker ps -q | xargs docker stop
docker ps -q | xargs docker rm
このDockerチュートリアルが気に入っていただけたでしょうか。今後ともよろしくお願いいたします。