docker rm

説明

1つまたは複数のコンテナを 削除(remove) します。

使い方

$ docker rm [OPTIONS] CONTAINER [CONTAINER...]

コマンドの使用例は、以下の 使用例のセクション をご覧ください。

オプション

名前, 省略形 デフォルト 説明
--force , -f   実行中のコンテナを強制的に削除( SIGKILL を使用)
--link , -l   指定されたリンクを削除
--volumes , -v   コンテナに割り当てられた 匿名ボリューム(anonymous volume) を削除

使用例

コンテナの削除

これは /redis へのリンクとして参照されているコンテナを削除します。

$ docker rm /redis
/redis

実行中のコンテナを強制削除

このコマンドは、実行中のコンテナを強制的に削除します。

$ docker rm --force redis
redis

これは /link でリンクされているコンテナを SIGKILL し、それからコンテナを削除します。

停止したコンテナを全て削除

docker container prune コマンドを使い、全ての停止済みコンテナを削除するか、あるいは、 docker system prune コマンドで未使用のコンテナに加え、(未使用の)イメージとネットワークのような他の Docker リソースを削除します。

別の方法として、 docker ps-q / --quiet オプションを使い、削除するコンテナの一覧リストを生成し、 docker rm コマンドの引数に、これらリストを使って削除できます。

コマンドの組み合わせは、より柔軟になりますが、シェルが提供する機能に依存するため、 移植性(portable) は低下します。さらに、正確な構文が、どのシェルを使うかに依存します(どのシェルを使うかにより、正確な構文は異なります)。Windows 上でこの手法を使う場合、 PowerShell か Bash の利用を検討ください。

以下の例は docker ps -q を使い、 終了した(exited) コンテナ( --filter status=exited )すべての ID を表示し、そして、これらコンテナを docker rm コマンドで削除します。

$ docker rm $(docker ps --filter status=exited -q)

あるいは、 Linux ユーティリティ xargs を使う場合は、このようになります。

$ docker ps --filter status=exited -q | xargs docker rm

コンテナと、そのボリュームを削除

$ docker rm -v redis
redis

このコマンドはコンテナと、コンテナに関連づけられた全ボリュームを削除します。ただし、ボリュームに名前を指定していた場合は、このコマンドでは削除されません。

コンテナと指定したボリュームを削除

$ docker create -v awesome:/foo -v /bar --name hello redis
hello
$ docker rm -v hello

この例では、ボリューム /foo は以後も残り続けますが、ボリューム /bar は削除します。同様に --volumes-from で継承関係にあるボリュームも保持します。

親コマンド

コマンド 説明
docker Docker CLI の基本コマンド