docker rmでコンテナを消す、全部消すならdocker ps -q -aと組み合わせる

  • Docker

この記事は、構成と文章の整理にAIを使っています。
あくまで読みやすくするための補助で、内容そのものをAIにすべて任せて書いているわけではありませんが、ところどころ相談しながら整えています。

コンテナIDを確認する

まず docker ps -a でコンテナ一覧を見る。-a を付けると停止中のコンテナも含めて表示される。

$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
xxxxxxxxxxxx e06c3604fa95 "xxxxxxxxxx-entrypoi…" 13 hours ago Up 13 hours 9000/tcp suspicious_kare

コンテナを1つ削除する

CONTAINER ID を指定して docker rm。

$ docker rm xxxxxxxxxxxx
xxxxxxxxxxxx

稼働中のコンテナはこのままだと消せない。先に docker stop するか、docker rm -f xxxxxxxxxxxx で強制削除する。

全部まとめて削除する

docker ps -q -a で全コンテナIDを取得して、それをそのまま docker rm に渡す。

$ docker rm $(docker ps -q -a)

こちらも稼働中のコンテナが混ざっているとエラーになる。docker rm -f $(docker ps -q -a) にするか、先に docker stop $(docker ps -q) してから実行する必要がある。

補足

比較的新しいDockerなら docker container prune でも停止中のコンテナを一括削除できる。実行すると確認プロンプトが出る(-f でスキップ可)。