Docker

【docker rmの使い方】コンテナの削除方法を解説【Docker入門⑦】

こんにちは、インフラエンジニアのryuです。

今回はDockerコンテナの削除方法を解説します。Dockerコンテナを削除するときは”docker rm”コマンドを使用します。また、コンテナを全て削除するような便利な使い方も合わせて紹介します。

関連【おすすめ】コマンドを打ちながらLinuxが学べるサイトInfraAcademy

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

Dockerコンテナの削除方法を解説

Dockerコンテナを削除したいけどどうすればいいの?

今回の記事では、Dockerコンテナの削除の方法を解説します。前回までの記事で、Dockerfileからコンテナの作成、docker-composeコマンドを使ったコンテナ複数起動を実施しました。

この今まで作成してきたコンテナを削除してみましょう。

いままでの記事はこちらです。

では、早速dockerコンテナを削除するコマンドの使い方を解説します。

コンテナを削除するためには”docker rm”コマンド

コンテナを削除するためには、”docker rm”コマンドを使用します。”rm”とは、removeの略で除外するという意味があります。

コマンドの使い方は以下の通りです。

docker rm nginx
docker rm [コンテナ]

実行すると以下のようになります。

docker rm

これでDockerコンテナが削除できました。”docker rm”コマンドは、削除するコンテナ名やIDを指定します。

では、どのようにコンテナ名やIDを調べたらよいのでしょうか?その時は”docker ps -a”コマンドを使用しましょう。

削除したいコンテナを探すときは”docker ps”コマンドを使う

先ほどは”docker rm”コマンドの使い方を解説しました。ここからは削除するコンテナ名やIDを探す方法をお伝えします。

そのような時に使用するコマンドが”docker ps”コマンドです。psはproccessの略で実行しているプロセスのことです。

以下のように使用します。

docker ps -a
docker ps [option]

コマンドを打つと、このようになります。左に表示されているのがコンテナIDで、その次に表示されているのがコンテナ名です。

docker ps

「-a」オプションを付けることで、全てのコンテナの情報を表示させることができます。

“docker rm”コマンドでエラーが出た場合の対処法

次に”docker rm”コマンドでエラーが出た場合の対処法を紹介します。

“docker rm”コマンドを打つと以下のようなエラーに遭遇することがあります。

Error response from daemon: You cannot remove a running container ・・・. Stop the container before attempting removal or force remove

docker rmでエラーが発生

このエラーを和訳すると以下のようになります。

デーモンからのエラー応答: 実行中のコンテナを削除することはできません。削除または強制削除を試みる前にコンテナを停止する

コンテナを起動させたまま、削除するとエラーが出ます。対処方法は2つあります。

  1. コンテナを停止させる
  2. 強制的に削除

この2つの方法のやり方を解説します。

対処方法①.コンテナを停止させる

エラーの内容通り、コンテナを停止させてから削除しましょう。コンテナを停止させるためには、”docker stop”コマンドを使用します。

使い方は以下のようになります。

docker stop 6c34486e6d32
docker stop [コンテナID]

dockerコンテナを停止

“docker stop”コマンドを打ってから、”docker rm”コマンドを使用するとエラーが出ません。

対処方法②.オプションを付けて強制削除

最後に紹介するのは、強制的にコンテナを削除する方法です。”-f”オプションを付けると強制的に削除します。

docker rm -f nginx
docker rm [option] [コンテナ]

エラーにある通り、強制的に削除するよりも一度停止させてから削除するほうが良いです。

以上で、”docker rm”コマンドの使い方の解説を終わります。

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
InfraAcademyというインフラエンジニア向けの学習サービスを運営しております。 インフラエンジニアからフルスタックエンジニア、PdM サーバ、ネットワーク、セキュリティ、クラウドについて投稿します。
RELATED POST