docker image

Dockerイメージの取得・生成・配布の流れ

  • docker image pull でリモートからローカルへダウンロードする。
  • docker image build でDockerfileから新規イメージを作成してローカルに保存する。
    build時にベースイメージが自動的にpullされる。
  • docker image push でローカルからリモートへアップロードする。

Docker イメージ名

書式項目の説明
リポジトリ[:タグ]リポジトリ(必須): イメージの名前
タグ(省略可): バージョンや種類
【例】
 mysql
 nginx:latest
 ubuntu:22.04
※)latest:最新バージョンのタグ

主要なイメージ名

公式イメージ用途
ubuntu【Linux】Ubuntu
debian【Linux】Debian
rockylinux【Linux】Rocky Linux
almalinux【Linux】AlmaLinux
amazonlinux【Linux】Amazon Linux
alpine【Linux】軽量
busybox【Linux】超軽量
nginx【Webサーバ】nginx
httpd【Webサーバ】Apache
wordpress【Webサーバ】WordPress
mysql【DB】mysql
postgres【DB】PostgreSQL
mongo【DB】MongoDB NoSQL
redis【DB】キャッシュ
node【実行環境】Node.js
python【実行環境】Python
ruby【実行環境】Ruby
golang【実行環境】Go言語
php【実行環境】PHP
tomcat【実行環境】Javaサーブレット
openjdk【実行環境】Java
docker【コンテナ】Docker

docker image コマンド

docker image ls コマンド
 【処理】 ローカルイメージストレージのイメージ一覧を表示する
 【書式】 docker image ls [オプション]

# イメージを表示する(タグ付きイメージのみ)
docker image ls

# イメージを表示する(中間イメージ含む)
docker image ls -a
docker image ls --all

# イメージIDのみ表示する
docker image ls -q
docker image ls --quiet

# フィルタ指定
# タグなしイメージでフィルタ
docker image ls --filter "dangling=true"
# 名前でフィルタ
docker image ls --filter "reference=nginx*"
# 特定イメージより前でフィルタ
docker image ls --filter "before=nginx:1.25"

# フォーマット指定
docker image ls --format "{{.Repository}}:{{.Tag}}"

# 出力を省略せずに全て表示する
docker image ls --no-trunc

docker image build コマンド
 【処理】 ローカルイメージストレージにイメージを作成する
 【書式】 docker image build [オプション] パス

# カレントディレクトリの Dockerfile を使用する
# 全ファイルをビルドコンテキストにする
# タグなしでイメージを作成する
docker image build .

# タグを指定する
docker image build -t myapp:latest .
docker image build --tag myapp:latest .

# Dockerfileを指定する
docker image build -f Dockerfile.prod .
docker image build --file Dockerfile.prod .

# ビルド引数を指定する
docker image build --build-arg VERSION=1.0 .

# キャッシュを使わない
docker image build --no-cache .

# 特定ターゲットまでビルド(マルチステージ)
docker image build --target production .

# プラットフォーム指定
docker image build --platform linux/amd64 .

# 進捗表示
docker image build --progress=plain .

docker image tag コマンド
 【処理】 ローカルイメージストレージのイメージにタグを付ける
 【書式】 docker image tag ソースイメージ名 ターゲットイメージ名

# イメージにタグを付ける
docker image tag myapp:latest myapp:v1.0

docker image push コマンド
 【処理】 ローカルイメージストレージからイメージをアップロードする
 【書式】 docker image push [オプション] イメージ名

# すべてのタグをpush
docker image push -a myrepo/myapp
docker image push --all-tags myrepo/myapp

#レジストリ認証を無効化
docker image push --disable-content-trust myrepo/myapp

docker image pull コマンド
 【処理】 ローカルイメージストレージへイメージをダウンロードする
 【書式】 docker image pull [オプション] イメージ名

# すべてのタグを表示する
docker image pull -a myrepo/myapp
docker image pull --all-tags myrepo/myapp

# プラットフォーム指定
docker image pull --platform linux/amd64 myrepo/myapp

docker image rm コマンド
 【処理】 イメージを削除する
 【書式】 docker image rm [オプション] イメージ名

# 強制削除
docker image rm -f nginx:latest
docker image rm --force nginx:latest

# 中間イメージを残して削除
docker image rm --no-prune nginx:latest