お問い合わせはこちら

【入門】Dockerイメージの削除方法と削除できない場合の対処方法まとめ

公開

Dockerイメージの削除方法やコマンドをお探しですか。Dockerイメージは、複数のコマンドを使い削除が可能です。使われていないDockerイメージを一括で削除することもできます。この記事では、Dockerイメージを削除する際に使うコマンドを紹介するので参考にして下さい。Dockerイメージを削除できないときの対処方法についても解説しています。

Dockerイメージの削除方法

Dockerイメージを削除するためのコマンドは以下の通りです。

docker image rm [OPTIONS] image_name

以下、実際にどのように使われるかみていきましょう。

個別に削除する方法

個別にDockerイメージを削除する場合は、以下のようにイメージ名を指定して削除を実行します。

docker image rm centos

2つ以上のイメージを個別に削除したい場合は、以下のように削除したいイメージ名を続けて記載します。

docker image rm centos ubuntu

以下のようにイメージIDを指定して削除することも可能です。

docker image rm 8653efc8c72d

ダウンロード済のDockerイメージの一覧やイメージ名・イメージIDは、「docker image ls」コマンドを使い以下のように確認します。

docker image ls

REPOSITORY TAG  IMAGE ID CREATED SIZE
httpd latest 8653efc8c72d 17 hours ago 145MB

上記のように、イメージ名(httpd)・イメージID(IMAGE ID/8653efc8c72d)が確認できます。

一括で削除する方法

Dockerイメージは、いくつかの方法で一括削除することも可能です。以下、一括削除の方法ごとにコマンド例を紹介します。

使用していないイメージを一括削除する

以下コマンドを実行すると、使用していないイメージを一括削除できます。

docker image prune

なお上記コマンドで削除されるのは、「コンテナから参照されておらずタグもないイメージ」です。コンテナに関連付けられていないイメージを全て削除するためには、以下のように「-a(–all)」オプションを追加します。

docker image prune -a

全てのイメージを一括削除する

以下コマンドを実行すると、全てのイメージを一括で削除できます。

docker image rm $(docker images -q)

Dockerイメージを削除できない場合の対処方法

Dockerイメージを削除しようとしても、以下のようなエラーメッセージが表示され削除できないことがあります。

Error response from daemon: conflict: unable to delete *****

この場合は、以下にあげる手順を実行することで削除できる可能性があります。

強制的に削除する

Dockerイメージを削除できない場合、「-f(–force)」オプションを追加すると強制的に削除できる場合があります。使用例は以下の通りです。

docker image rm -f centos

先にイメージを参照しているコンテナを削除する

対象のイメージを参照しているコンテナを先に削除することで、イメージを削除できる可能性があります。手順は以下の通りです。

・コンテナの一覧を表示し、削除対象のコンテナを探します。

docker container ls -a

CONTAINER ID   IMAGE     COMMAND              CREATED        STATUS                    PORTS                                   NAMES
a4698f54d68f   httpd     "httpd-foreground"   19 hours ago   Up 20 seconds              0.0.0.0:8080->80/tcp, :::8080->80/tcp   priceless_wright

※イメージ名が記載されているので、どれが削除対象のコンテナかが確認できます。
※ステータス(STATUS)にて、対象のコンテナが動作中か否かがわかります。(上記例は動作開始してから20秒経過していることがわかります。)

・対象のコンテナが実行中である場合は、削除前にまず停止します。削除時はコンテナの一覧表示で確認した「コンテナID(CONTAINER ID)」を以下のように指定してください。

docker container stop a4698f54d68f

・以下コマンドで、対象のコンテナを削除します。

docker container rm a4698f54d68f

・対象コンテナが複数ある場合は、以下のようにコンテナIDを列挙して1度で削除することもできます。

docker container rm a4698f54d68f da19f87bb71f

※3つ以上の指定も可能です

・コンテナ削除後に、あらためてDockerイメージの削除を実行すると成功する可能性があります。

docker image rm httpd

まとめ

Dockerイメージは、「docker image rm」コマンドにて削除が可能です。Dockerイメージは個別に削除するだけでなく、「docker image prune」で使われていないイメージを一括削除する方法もあります。

Dockerイメージを削除できない場合は、「-f(–force)」オプションを追加し強制的に削除する方法を試すとよいです。イメージを参照しているコンテナを先に削除することで、Dockerイメージを削除できる可能性もあります。

KAGOYA CLOUD VPSでは初期費用無料、月額 550円(日額 20円)~の低価格で手軽にDockerを利用可能です。KAGOYA CLOUD VPSにはDocker CEのアプリケーションセットアップも用意されています。そのためDocker環境を、非常に簡単な手順で手間なく作成可能です。

KAGOYA CLOUD VPSについて詳しくは、以下公式サイトで確認下さい。

日額 20円 で使えるVPS

開発・検証・プログラミング学習に。無駄なコストもかけたくないあなたにおすすめのVPS

カゴヤのVPSは初期費用無料でアカウント登録さえしておけば、必要なときだけ日額課金でサーバーを立ち上げ可能!料金は使った分だけ。