Dockerは、アプリケーションの開発・テスト・本番環境へのデプロイまでをスムーズに行えるコンテナ技術です。中でも、docker images
コマンドは、ローカル環境に保存されているDockerイメージの一覧を確認するための基本的かつ重要なコマンドです。この記事では、docker images
コマンドの基本的な使い方から、オプションの意味、便利な使い方までを、Linuxのターミナル操作になじみのない方にもわかりやすく解説していきます。
docker images コマンドとは?
docker images
コマンドは、ローカルに存在するDockerイメージの一覧を表示するためのコマンドです。Dockerイメージとは、アプリケーションを実行するために必要な環境やプログラムがパッケージ化されたもので、コンテナの元になる存在です。
$ docker images
このコマンドを実行すると、現在自分のマシンに存在しているイメージが以下のように一覧表示されます。
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 2a4cca5ac898 3 days ago 77.8MB
nginx stable d1a364dc548d 2 weeks ago 133MB
このように、リポジトリ名、タグ、イメージID、作成日時、サイズが一覧で確認できます。
表示される各カラムの意味
docker images
の出力結果には、それぞれの列に意味があります。それぞれのカラムの内容を詳しく見ていきましょう。
- REPOSITORY:イメージが属する名前空間。Docker Hubなどに登録されている名前と一致することが多いです。
- TAG:バージョン番号などの識別用タグ。通常は
latest
などが指定されます。 - IMAGE ID:イメージを一意に識別するためのハッシュID。
- CREATED:そのイメージがいつ作成されたかを示す日時。
- SIZE:イメージファイルの容量。大きなイメージは起動やダウンロードに時間がかかるので注意が必要です。
より詳しい情報を取得するには
docker images
は標準では概要表示にとどまりますが、より詳しい情報が欲しい場合は、docker image inspect
コマンドを使います。
$ docker image inspect <IMAGE ID>
これはJSON形式でイメージの詳細な構造や設定、環境変数などを確認できるコマンドです。スクリプトや運用の中で条件に応じた判断をする際に便利です。
不要なイメージを削除する
ローカルにDockerイメージが溜まりすぎると、ディスク容量を圧迫します。そのため、不要なイメージを削除することが大切です。
削除には以下のコマンドを使います。
$ docker rmi <IMAGE ID>
例:
$ docker rmi 2a4cca5ac898
タグがない「dangling image(ぶら下がりイメージ)」を一括で削除したい場合は、以下のようにします。
$ docker image prune
このコマンドは確認を求めてくるため、対話なしで実行したいときは -f
をつけて使います。
$ docker image prune -f
イメージをフィルターして表示する
docker images
コマンドでは、特定の条件でフィルタリングすることも可能です。
特定のリポジトリ名だけを表示する:
$ docker images ubuntu
特定のタグを指定する:
$ docker images ubuntu:latest
dangling(使用されていない)イメージのみを表示:
$ docker images -f "dangling=true"
特定のサイズより大きいイメージを探すには:
直接的にはサイズ指定のフィルターはありませんが、--format
オプションを使って、サイズを含んだ出力をカスタマイズできます。
$ docker images --format "{{.Repository}}: {{.Size}}"
このようにして、あとでgrepなどで絞り込みが可能になります。
出力形式をカスタマイズする
標準の出力では見づらい、あるいはスクリプトで処理したいときには、--format
オプションが便利です。
$ docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}"
このようにすれば、必要な情報だけを抽出し、表形式で出力することができます。table
を外すと、スクリプト向けのプレーンなテキストになります。
よくあるトラブルとその対処法
イメージが表示されない場合
docker images
を実行しても何も表示されない場合、以下のような原因が考えられます。
- まだ何もイメージを取得していない
- ローカル環境が別のDocker contextに切り替わっている
確認方法:
$ docker context ls
エラー「cannot delete image」
イメージを削除しようとして「このイメージは使用中です」と出る場合は、関連するコンテナが存在している可能性があります。次のようにしてコンテナを確認しましょう。
$ docker ps -a
不要なコンテナを削除することでイメージも削除できるようになります。
まとめ
docker images
コマンドは、ローカル環境にあるDockerイメージの管理において欠かせない基本コマンドです。単に一覧を表示するだけでなく、フィルタリングや整形出力、不要なイメージのクリーンアップにも活用できます。
Dockerを効率よく使いこなすためには、こうした基本コマンドの意味と使い方をしっかり理解しておくことが大切です。初学者の方も、本記事を参考にしながらぜひ実際に手を動かしてみてください。