Dockerイメージをダウンロード・確認・削除する方法【docker image pull / ls / rm】

Dockerを使って開発を進めていると、

  • Dockerイメージってどうやってダウンロードするの?
  • ローカルにあるDockerイメージの一覧を見たい
  • Dockerイメージを削除したい

と思うことがよくあります。

そこでこの記事では、

  • Dockerイメージのダウンロード(docker image pull
  • ダウンロード済みイメージの確認(docker image ls
  • Dockerイメージの削除(docker image rm / prune

といったDockerイメージ操作の基本を実行例つきでわかりやすく解説します。

Dockerイメージをダウンロードする(docker image pull)

Dockeイメージをダウンロードするには、docker image pullコマンドを使います。基本の書き方を以下に示します。

Dockerイメージをダウンロードするコマンド

docker image pull <イメージ名>:<タグ>

タグを省略すると自動的にlatestが指定されます。

docker pull <イメージ名>:<タグ>でも動作しますが、こちらは旧コマンドです。

例えば、最新版のUbuntuをダウンロードする場合には、以下のコマンドを実行します。

docker image pull ubuntu

上記のコマンドでは、タグを省略しているのでubuntu:latestが取得されます。実行結果の例を以下に示します。

$ docker image pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
20043066d3d5: Pull complete
Digest: sha256:c35e29c9450151419d9448b0fd75374fec4fff364a27f176fb458d472dfc9e54
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest

特定バージョンをダウンロードする場合には、以下のコマンドを実行します。

docker image pull ubuntu:22.04

このようにタグ指定することで、任意のバージョン(22.04など)を取得できます。

docker runだけでも自動でpullされる

docker image pullしなくてもdocker runを実行すると、自動的にDockerイメージがダウンロードされます。例えば、以下のコマンドを実行した場合、ubuntu:latestがローカルホスト(あなたのPC)になければ自動的にpullされます。

docker run ubuntu

「事前にイメージだけ準備しておきたい」「docker runせずにイメージだけ確認したい」場合などは明示的にdocker image pullを使うのがおすすめです。

ダウンロードできるDockerイメージの検索方法

DockerイメージはDocker Hubで検索できます。Docker Hubは公式のイメージレジストリ(イメージの保管場所)です。

例えば、UbuntuのDockerイメージを探したいときは、Docker Hubのホームページにアクセスし、検索バーに「Ubuntu」と入力します。すると、Ubuntuに関連する公式イメージやバージョン一覧が表示されます(公式イメージにはOfficial Imageのマークが付いています)。

ダウンロードできるDockerイメージの検索方法

公式イメージ(Official Image)を選ぶのが安心です。

Dockerイメージのダウンロード元

Dockerイメージは、一般的にDocker Hub(docker.io)からダウンロードされます。ただし、イメージ名の書き方によってどのレジストリから取得するかが変わります

例えば、以下のコマンドを実行すると、Docker Hub(docker.io)からUbuntuのDockerイメージがダウンロードされます。

docker pull ubuntu
docker pull ubuntu:22.04

実際には、次の場所が自動的に参照されています。

  • docker.io/library/ubuntu:latest
  • docker.io/library/ubuntu:22.04

他のレジストリから取得したい場合には、イメージ名の前にレジストリURLを付けます。例えば、AWS ECR(Amazonのコンテナレジストリ)からダウンロードする場合には、以下のコマンドを実行します。

docker pull 123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/amazonlinux:latest

ダウンロード済みDockerイメージを確認する(docker image ls)

ローカルホスト(あなたのPC)に保存されているDockerイメージを確認する場合は、docker image lsコマンドを使います。

ダウンロード済みDockerイメージを確認するコマンド

docker image ls

docker imagesでも動作しますが、こちらは旧コマンドです。

実行結果の例を以下に示します。

IMAGE           ID             DISK USAGE   CONTENT SIZE   EXTRA
ubuntu:22.04    104ae83764a5        117MB         29.5MB
ubuntu:latest         117MB         29.7MB

REPOSITORYは「ダウンロード済み」または「ビルド済み」のDockerイメージの名前です。

TAGDockerイメージのバージョンや種類を区別するための名前です。基本的にはバージョンを管理するためによく利用されています。先ほど示したDocekr HubのUbuntuのページを見に行くと、どんなTAGがあるかわかります。例えばバージョン番号(以下の図では22.04)だったり、開発名・別名(以下の図ではjammy)などがあります。このようにTAGを付けることで、同じubuntuイメージでも、バージョンごと・種類ごとに管理できる仕組みになっています。

DockerイメージのTAGの確認方法01

Overviewのところでもタグが確認できます。

DockerイメージのTAGの確認方法02

IMAGE IDはイメージごとに割り当てられた一意のIDです。Dockerイメージを削除する操作でDockerイメージ名の代わりにIMAGE IDを指定することもできます。

Dockerイメージを削除する(docker image rm)

不要になったDockerイメージは、docker image rmコマンドで削除できます。rmはremove(削除)の略です。基本の書き方を以下に示します。

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

docker image rm <イメージ名>:<タグ>

タグを省略すると自動的にlatestが指定されます。

docker rmi <イメージ名>:<タグ>でも動作しますが、こちらは旧コマンドです。

例えば、ubuntu:latestを削除したい場合には、以下のコマンドを実行します。

docker image rm ubuntu

上記のコマンドでは、タグを省略しているのでubuntu:latestが削除されます。実行結果の例を以下に示します。

$ docker image rm ubuntu
Untagged: ubuntu:latest
Deleted: sha256:c35e29c9450151419d9448b0fd75374fec4fff364a27f176fb458d472dfc9e54

docker image lsコマンドで確認したIMAGE IDを使えば、同じ名前・タグが複数あるケースでも確実に指定のDockerイメージを削除できます。

docker image rm <IMAGE ID>

実行結果の例を以下に示します。

$ docker image rm c35e29c94501
Untagged: ubuntu:latest
Deleted: sha256:c35e29c9450151419d9448b0fd75374fec4fff364a27f176fb458d472dfc9e54

まとめてDockerイメージを削除する(未使用イメージのみ)

「昔にpullしたけど、今は使っていない…」「気づいたらイメージの容量が増えている…」そんなときに便利なのがdocker image pruneコマンドです。

docker image prune

このコマンドは、以下の未使用のDockerイメージ(dangling images)を削除します。具体的には以下のDockerイメージが削除されます。

  • タグが付いていない中間イメージ
  • 現在、どのコンテナからも参照されていないイメージ

まとめてDockerイメージを削除する(すべてのイメージ)

未使用イメージだけでなく、使っているイメージも含めて“すべて”を一気に削除したい場合は、次のコマンドを使います。

docker image prune -a

「docker image prune -a」は非常に強力で、以下のイメージも完全に削除されてしまいます。本当に必要なときだけ実行してください。

  • 今動いているコンテナが参照しているイメージ
  • よく使っているイメージ
  • 大事に取っておきたいイメージ

実行結果を以下に示します。

$ docker image prune -a
WARNING! This will remove all images without at least one container associated to them.
Are you sure you want to continue? [y/N] y
Deleted Images:
untagged: ubuntu:22.04
deleted: sha256:104ae83764a5119017b8e8d6218fa0832b09df65aae7d5a6de29a85d813da2fb
deleted: sha256:1c4cc37c10c4678fd5369d172a4e079af8a28a6e6f724647ccaa311b4801c3c9
untagged: ubuntu:latest
deleted: sha256:c35e29c9450151419d9448b0fd75374fec4fff364a27f176fb458d472dfc9e54
deleted: sha256:4fdf0125919d24aec972544669dcd7d6a26a8ad7e6561c73d5549bd6db258ac2

Total reclaimed space: 59.28MB

「Are you sure you want to continue?」と削除前に確認が表示されるので、意図せず大切なイメージを消す心配はありません。

よく使うDockerイメージのコマンドまとめ

よく使うDockerイメージのコマンドを以下にまとめます。

操作内容コマンド
Dockerイメージをダウンロードdocker image pull <イメージ名>:<タグ>
docker pull <イメージ名>:<タグ>
ダウンロード済みDockerイメージを一覧表示docker image ls
docker images
Dockerイメージを削除docker image rm <イメージ名>:<タグ>
docker rmi <イメージ名>:<タグ>
DockerイメージをIMAGE IDで削除docker image rm <IMAGE ID>
docker rmi <IMAGE ID>
未使用のDockerイメージだけをまとめて削除docker image prune
すべてのDockerイメージだけをまとめて削除docker image prune -a

本記事のまとめ

この記事では『Dockerイメージをダウンロード・確認・削除する方法』について説明しました。

Dockerイメージのダウンロード・確認・削除は、Dockerを扱う上で必須の基本操作です。

とくにdocker image pulldocker image lsdocker image rmを覚えるだけで、日々の作業がかなり快適になります。

この記事を参考にしながら、実際にコマンドを動かしてみてください。

お読みいただきありがとうございました。

スポンサーリンク