おじさんエンジニアの日記

おじさんエンジニアがWeb関連の技術、ガンプラのことを書くブログ

【Docker】不要になったイメージ、コンテナを削除する

前回コンテナを起動したり色々と試しました。

「docker run」はコンテナを作成するコマンドなので、結構な数の不要なコンテナができてしまいました。

今回は不要なコンテナを削除します。
また、CentOS7のイメージも不要なので、こちらも一緒に削除したいと思います。

コンテナの削除

コンテナの実行状況を確認する

まず、削除するにも状況がわからなければどうしようもないので、
状況の確認をします。

状況の確認は、

# docker ps

で確認します。

「docker ps」は、現在動いているコンテナの一覧を返します。
前回起動したものなどはすべて停止したので、
以下のように何も表示されません。

# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

停止中のコンテナを見るときは、「-a」オプションを追加します。
そうするといくつかのコンテナが表示されました。

docker ps -a
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS                        PORTS               NAMES
bf5ae9310819        centos:centos6      /bin/bash              17 minutes ago      Exited (-1) 17 minutes ago                        sharp_jones
fb73c65c3389        centos:centos6      /bin/bash              18 minutes ago      Exited (-1) 18 minutes ago                        sad_almeida
d4aedfa38e7e        centos:centos6      /bin/bash              20 minutes ago      Exited (0) 20 minutes ago                         elegant_torvalds
fc28101611fd        centos:centos6      /bin/bash              21 minutes ago      Exited (130) 20 minutes ago                       insane_ritchie
bc03fe0bb4be        centos:centos6      /bin/cat /etc/redhat   21 minutes ago      Exited (0) 21 minutes ago                         nostalgic_brattain
42c5b1707709        centos:latest       /bin/cat /etc/redhat   21 minutes ago      Exited (0) 21 minutes ago                         lonely_feynman
650748bf5a5c        centos:latest       /bin/echo 'Hello Wor   21 minutes ago      Exited (0) 21 minutes ago                         clever_hawking

コンテナを削除する

これでコンテナの状況がわかったので、削除します。

以下のコマンドで削除できます。

# docker rm [コンテナID]


試しに一番初めに作ったコンテナを削除します。

# docker rm 650748bf5a5c
650748bf5a5c

これで削除出来ました。
確認すると削除されていることがわかります。

docker ps -a
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS                        PORTS               NAMES
bf5ae9310819        centos:centos6      /bin/bash              21 minutes ago      Exited (-1) 21 minutes ago                        sharp_jones
fb73c65c3389        centos:centos6      /bin/bash              22 minutes ago      Exited (-1) 22 minutes ago                        sad_almeida
d4aedfa38e7e        centos:centos6      /bin/bash              24 minutes ago      Exited (0) 23 minutes ago                         elegant_torvalds
fc28101611fd        centos:centos6      /bin/bash              25 minutes ago      Exited (130) 24 minutes ago                       insane_ritchie
bc03fe0bb4be        centos:centos6      /bin/cat /etc/redhat   25 minutes ago      Exited (0) 25 minutes ago                         nostalgic_brattain
42c5b1707709        centos:latest       /bin/cat /etc/redhat   25 minutes ago      Exited (0) 25 minutes ago                         lonely_feynman

また、コンテナIDは、頭3-4桁まででもOKのようです。
コンテナID:42c5b1707709を削除してみます。

# docker rm 42c5
42c5

# docker ps -a
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS                        PORTS               NAMES
bf5ae9310819        centos:centos6      /bin/bash              23 minutes ago      Exited (-1) 23 minutes ago                        sharp_jones
fb73c65c3389        centos:centos6      /bin/bash              24 minutes ago      Exited (-1) 24 minutes ago                        sad_almeida
d4aedfa38e7e        centos:centos6      /bin/bash              26 minutes ago      Exited (0) 25 minutes ago                         elegant_torvalds
fc28101611fd        centos:centos6      /bin/bash              27 minutes ago      Exited (130) 26 minutes ago                       insane_ritchie
bc03fe0bb4be        centos:centos6      /bin/cat /etc/redhat   27 minutes ago      Exited (0) 27 minutes ago                         nostalgic_brattain

コンテナを一気に削除する

1つ1つ削除していくのが面倒な場合、以下のコマンドで一括で削除することができます。

# docker rm `docker ps -a -q`

イメージの削除

イメージの状況を確認する

コンテナと同様にイメージの状況も確認することができます。

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos              centos6             b1bd49907d55        4 weeks ago         212.5 MB
centos              latest              b157b77b1a65        4 weeks ago         243.7 MB

※TAGのlatestがCentOS7入りのイメージです。

コンテナを削除する

コンテナは以下のコマンドで削除できます。

# docker rmi [イメージID]

試しにCentOS7入りのイメージを削除します。

# docker rmi b157b77b1a65
Untagged: centos:latest
Deleted: b157b77b1a65e87b4f49298557677048b98fed36043153dcadc28b1295920373

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos              centos6             b1bd49907d55        4 weeks ago         212.5 MB

イメージの削除もコンテナのように頭3-4桁まででもOKなので、以下でもOKです。

# docker rmi b157