このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

イメージとコンテナの確認・停止・削除

イメージとコンテナの確認

 「とりあえずDockerを動かしてみる」で既に、イメージとコンテナが作成されています。ここでは、Dockerイメージとコンテナの確認・停止・削除について解説していきます。

・「Docker Desktop」でイメージとコンテナの確認

 ホストマシン上に作成されているイメージとコンテナは、コマンドだけでなく「Docker Desktop」からでも確認できます。

・「Images」タブでは、ホストマシン上にあるイメージの一覧が確認できます。
・「Containers」タブでは、ホストマシン上にあるコンテナの一覧が確認できます。

コマンドでイメージとコンテナの確認する。

・「docker image ls」コマンド

「docker image ls」コマンドで現在、ホストマシン上にあるイメージの一覧を確認することができます。

PS C:\Users\joeac> docker image ls
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    d2c94e258dcb   10 months ago   13.3kB

「docker image ls」コマンドで出力される内容の意味は下表のとおりです。

REPOSITORYTAGIMAGE IDCREATEDSIZE
hello-world
(イメージの名前)
latest
(最新バージョン)
d2c94e258dcb
(イメージを識別するID)
10 months ago
(10カ月前に作成)
13.3kB
(容量)
「docker image ls」コマンドの出力内容

・「 docker container ls 」コマンド

「 docker container ls 」コマンドでは、コンテナの動作状況を確認することができます。

PS C:\Users\joeac> docker container ls
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

おや?

何も表示されません。

それは「 docker container ls 」コマンドは、現在稼働中のコンテナの一覧を表示するコマンドだからです。

何も表示されないということは、現在、稼働しているコンテナがないということを意味しています。

・「 docker container ls -a」コマンド

 停止中のコンテナの一覧を表示するには「 docker container ls -a」コマンドを使います。「-a」オプションを指定することで、停止中のコンテナも表示することができます。

PS C:\Users\joeac> docker container ls -a
CONTAINER ID   IMAGE         COMMAND    CREATED        STATUS                    PORTS     NAMES
9aad2dfc6580   hello-world   "/hello"   24 hours ago   Exited (0) 24 hours ago             friendly_tu

「docker image ls -a」コマンドで出力される内容の意味は下表のとおりです。

CONTAINER IDIMAGCOMMANDCREATEDSTATUSPORTSNAMES
9aad2dfc6580
(コンテナID)
hello-world
(イメージの名前)
“/hello”
24 hours ago
(24時間前に作成)
Exited (0) 24 hours ago
(24 時間前に終了)
friendly_tu
(コンテナの名前)
「 docker container ls -a」コマンドの出力内容

コマンドでコンテナを削除する。

コンテナを削除するには、コンテナを停止「docker container stop」させてから削除します。

コンテナが停止状態であるかを「docker container ls -a」コマンドで確認します。

 出力から、イメージ(IMAGE)「hello-world」から作成された「friendly_tu」という名前のコンテナがあります。

PS C:\Users\joeac> docker container ls -a
CONTAINER ID   IMAGE         COMMAND    CREATED        STATUS                    PORTS     NAMES
9aad2dfc6580   hello-world   "/hello"   24 hours ago   Exited (0) 24 hours ago             friendly_tu

 このコンテナの STATUS は「Exited」となっています。これは、コンテナが停止していることを意味します。

 ちなみに、「Exited (0)」とは、Exitのステータスコードが「0」なので、コンテナが起動して、そのまま正常終了したことを意味しています。つまり、コンテナは停止しています。

・「docker container stop (コンテナ名)」コマンド

コンテナを停止するには「docker container stop (コンテナ名)」コマンドを使います。

 今回は、コンテナが停止しているため、コンテナを停止する「docker container stop」コマンドを実行する必要はありません。

・「 docker container rm (コンテナ名 )」コマンド

コンテナを削除するには「 docker container rm (コンテナ名) 」を使います。

「friendly_tu」コンテナを削除します。

「hello-world」ではないことに注意してください。この名前は、イメージ名です。

「 docker container rm hello-world」を実行します。

PS C:\Users\joeac> docker container rm friendly_tu
friendly_tu

コンテナが削除されました。

確認のため、「docker container ls -a」コマンドを実行します。

PS C:\Users\joeac> docker container ls -a
CONTAINER ID   IMAGE         COMMAND    CREATED        STATUS                    PORTS     NAMES

コンテナが一覧にありません。コンテナが削除されたことが確認できます。

コマンドでイメージを削除する。

イメージを削除するには「docker image rm (イメージ名)」コマンドを使います。

・「docker image rm (イメージ名)」コマンド

「docker image ls」コマンドで現在、ホストマシン上にあるイメージの一覧を確認します。

PS C:\Users\joeac> docker image ls
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    d2c94e258dcb   10 months ago   13.3kB

「hello-world」イメージがあることが確認できます。

「hello-world」イメージを削除します。

「docker image rm hello-world」コマンドを実行します。

PS C:\Users\joeac> docker image rm hello-world
Untagged: hello-world:latest
Untagged: hello-world@sha256:d000bc569937abbe195e20322a0bde6b2922d805332fd6d8a68b19f524b7d21d
Deleted: sha256:d2c94e258dcb3c5ac2798d32e1249e42ef01cba4841c2234249495f87264ac5a
Deleted: sha256:ac28800ec8bb38d5c35b49d45a6ac4777544941199075dff8c4eb63e093aa81e

「hello-world」イメージが削除されました。

再度、「docker image ls」コマンドで現在、ホストマシン上にあるイメージの一覧を確認します。

PS C:\Users\joeac> docker image ls
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE

イメージの一覧がありません。「hello-world」イメージが削除されたことが分かります。