5.1 コマンド docker images
もしシステムにDockerイメージが既に保存されている場合、それらを管理するための特別なコマンドがあります。まず最初に、docker images
とdocker rmi
についてです。このレクチャーでは、これらのコマンドを効果的に使ってDockerイメージを管理する方法を詳しく説明します。
コマンド docker images
は、システム内にローカル保存されているイメージのリストを表示します。リポジトリ名、タグ、イメージID、作成日、サイズなどのデータが表示されます。この情報を使えば、利用可能なイメージやそのサイズを素早く確認できます。
構文:
docker images [OPTIONS] [REPOSITORY[:TAG]]
構文の詳細:
-
OPTIONS
: 出力をフィルタリングやフォーマットするための追加パラメータ。 -
[REPOSITORY[:TAG]]
: (オプション)リポジトリ名やタグでのフィルタリング。
基本的な使い方の例
この例では、ローカル保存されているすべてのイメージのリストを出力します。
docker images
コマンド docker images
の出力例:
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 5a7e5b1a3b8c 2 days ago 133MB
ubuntu 20.04 ba6acccedd29 3 weeks ago 72.9MB
myapp 1.0 d1e5e2ff5ff2 1 month ago 89.5MB
列の説明:
- REPOSITORY: イメージが属するリポジトリ名。
- TAG: イメージのバージョンを示すタグ。
- IMAGE ID: イメージの一意の識別子。
- CREATED: イメージが作成されてからの時間。
- SIZE: メモリ内のイメージサイズ。
5.2 イメージのフィルタリング
イメージのフィルタリングを使うと、docker images
コマンドの結果を絞り込んで、自分の基準に合ったイメージだけを見ることができるよ。システムにたくさんのイメージが保存されている場合、リポジトリ名やタグ、その他のパラメータで特定のイメージをすばやく見つけたい場合に便利だね。
1. リポジトリによるフィルタリング
docker images nginx
この例では、nginx
リポジトリからのイメージだけが表示されるよ。
2. タグによるフィルタリング
docker images ubuntu:20.04
この例では、タグ 20.04
が付いた ubuntu
イメージが表示されるよ。
3. -a (all)
パラメータの使用
デフォルトでは、docker images
コマンドはイメージの最新バージョンだけを表示するよ。すべてのイメージ(中間レイヤーも含む)を表示するには、-a
オプションを使ってね。
docker images -a
4. 出力フォーマットの変更
読みやすくするためや、他のツールと連携するために、--format
オプションを使って出力フォーマットをカスタマイズできるよ。スクリプトやタスクの自動化にも特に便利だね。
docker images --format "{{.Repository}}:{{.Tag}} {{.ID}}"
5.3 コマンド docker rmi
コマンド docker rmi
は、一つまたは複数のDockerイメージを削除するために使われるんだ。これ、特に使わないイメージを削除してディスクスペースを解放したり、システムを整理するのに便利なんだよ。
構文:
docker rmi [OPTIONS] IMAGE [IMAGE...]
ここで:
- OPTIONS: 削除プロセスを管理するための追加オプション。
- IMAGE: 削除したいイメージの名前、タグ、またはID。
基本的な使用例
この例では名前がnginx
のイメージを削除します。
docker rmi nginx
IDを使った削除
この例ではIDが5a7e5b1a3b8c
のイメージを削除します。
docker rmi 5a7e5b1a3b8c
強制削除
イメージがコンテナで使用中またはロックされている場合、通常の削除ができないことがあります。強制削除には-f (force)
オプションを使ってね。
docker rmi -f myapp:1.0
複数のイメージの削除
一度に複数のイメージを削除するには、スペースで区切って指定すればOK。
docker rmi nginx ubuntu:20.04 myapp:1.0
5.4 実践的な例
例 1: すべてのイメージを表示
ローカルマシンに保存されているすべてのイメージのリストを取得するには、以下のコマンドを実行してね:
docker images
このコマンドは、リポジトリ名、タグ、イメージID、作成日時、サイズが含まれたテーブルを表示するよ。
例 2: 出力フォーマットをカスタマイズしてイメージを表示
出力をカスタマイズしたい場合、例えばリポジトリ名とタグだけを表示するには:
docker images --format "{{.Repository}}:{{.Tag}}"
この例では、--format
オプションを使う方法を示してるよ。スクリプトを書くときに便利なんだ。
例 3: 未使用イメージをすべて削除
コンテナで使用されていないすべてのイメージを削除したい場合、まずリストを取得してから削除を実行するんだ:
docker images -q
docker rmi $(docker images -q)
コマンドdocker images -q
はローカルに保存されているすべてのイメージIDだけを表示し、それをdocker rmi
に渡して削除するんだ。
例 4: Dangling images の削除
Dangling images
はタグのないイメージで、イメージの更新やビルドの失敗後に残るんだ。それを削除するには次のコマンドを使おう:
docker rmi $(docker images -f "dangling=true" -q)
ここで、-f "dangling=true"
はタグのないイメージをフィルタリングし、-q
はそのIDだけを表示する。そして削除コマンドに渡されるんだ。
GO TO FULL VERSION