ダウンロード済みのイメージの一覧を表示します。
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE httpd latest 7d85cc3b2d80 10 days ago 154MB centos 7 9f38484d220f 5 months ago 202MB
-f (--filter)オプションは、フィルタリングを行います。フィルタには dangling, label, before, since を指定できます。
-f dangling=true は、docker build 時に一時的に作成される様な不要なイメージ (<none>) のみを表示します。
# docker images -f dangling=true
定期的に不要なイメージを削除するには、下記を実行すると便利です。<none> であっても、使用中のイメージは削除されません。
# docker rmi $(docker images -f "dangling=true" -q)
-f label=... は、ラベルによりフィルタリングします。下記は、org.label-schema.vendor ラベルが CentOS であるものを表示します。ラベルの一覧は「docker inspect イメージ名」で調べられます。
# docker images -f label=org.label-schema.vendor=CentOS
-f before=... は、指定したイメージよりも古いもの、-f since=... は、指定したイメージよりも新しいものを表示します。
# docker images -f before=image3 # docker images -f since=image3
その他、下記のオプションを使用可能です。
-a, --all 全てのイメージを表示する --digests ダイジェストを表示する --format string 指定したフォーマットで表示する --no-trunc 表示を省略しない -q, --quiet イメージIDのみを表示する
イメージを削除します。イメージ名またはイメージIDを指定します。
# docker rmi image1 # docker rmi 99c1098d5884
下記のオプションを使用可能です。
-f, --force イメージが使用中であっても強制的に削除します。 --no-prune タグ付けされていない親イメージは削除しない
イメージのヒストリ情報を表示します。
# docker history image1 IMAGE CREATED CREATED BY SIZE COMMENT 1e220c2b7e2a 12 hours ago /bin/bash 576MB 9f38484d220f 5 months ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B <missing> 5 months ago /bin/sh -c #(nop) LABEL org.label-schema.sc… 0B <missing> 5 months ago /bin/sh -c #(nop) ADD file:074f2c974463ab38c… 202MB
下記のオプションを使用可能です。
--format format フォーマットを指定する -H, --human サイズと日付を人が読みやすい書式で表示 --no-trunc 表示を省略しない -q, --quiet イメージIDのみを表示する
コンテナからイメージを作成します。
# docker commit cont1 image1:latest
-c (--change)オプションは、イメージ作成時に追加の Dockerfile コマンドを指定します。
# docker commit -c 'CMD ["/usr/sbin/httpd", "-DFOREGROUND"]' cont1 image1:latest
他には、下記のオプションを指定できます。
-a, --author string 作者を指定 -m, --message string historyで表示されるコメントを追加 -p, --pause コミット中にコンテナを一時停止(pause)する
イメージにタグ付けします。タグ名は最大128文字のアンダースコア(_)、ピリオド(.)、スラッシュ(-)を含む半角英数字です。ピリオド(.)やスラッシュ(-)で始まることはできません。
# docker tag my-app my-app:1.2.3
Docker Hub に push できる形式でタグ付けします。
# docker tag my-app ${DOCKER_ID}/my-app
AWS ECR に push できる形式でタグ付けします。
# export AWS_ACCOUNT_ID=... # export AWS_REGION=... # docker tag my-app ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com/my-app:latest
ローカルレジストリに push できる形式でタグ付けします。
# docker tag my-app local-registry.example.com:5000/my-app:latest
Dockerfile からイメージを作成します。詳細は Dockerfile を参照してください。
# cat > Dockerfile <<EOF FROM centos:7 RUN yum install -y httpd CMD ["/usr/sbin/httpd", "-DFOREGROUND"] EOF # docker build -t my-app:latest . # docker images
下記のオプションを指定できます。
--add-host list ホスト名とIPアドレスのマッピングを追加 --build-arg list ビルド時の変数を設定 --cache-from strings キャッシュソースとして利用するイメージ --cgroup-parent string コンテナ用のオプショナルな親cgroup --compress ビルドコンテキストをgzip圧縮 --cpu-period int CPU CFS (Completely Fair Scheduler)間隔の上限 --cpu-quota int CPU CFS (Completely Fair Scheduler)クォータの上限 -c, --cpu-shares int CPU共有時の優先度 (デフォルト:1024) --cpuset-cpus string 実行時のCPU上限 (0-3, 0,1) --cpuset-mems string 実行時のメモリ上限 (0-3, 0,1) --disable-content-trust イメージの検証をスキップ (デフォルト:true) -f, --file string Dockerfileのパス名 (デフォルト:'PATH/Dockerfile') --force-rm 常に一時的作業用コンテナを削除 --iidfile string イメージIDをファイルに記入 --isolation string コンテナの隔離技術 --label list イメージにラベル(メタデータ)を設定 -m, --memory bytes メモリ上限を指定 (例:512M) --memory-swap bytes メモリSwap上限 ('-1'は制限しない) --network string ビルド中に使用するネットワークモード (デフォルト:default) --no-cache イメージ作成時にキャッシュを使用しない --pull 常に最新イメージのpullを試みる -q, --quiet 作成時の途中経過を表示しない --rm 作成に使用した一時的コンテナを削除 (デフォルト:true) --security-opt strings セキュリティオプション --shm-size bytes /dev/shmのサイズ -t, --tag list イメージ名:タグ名を指定 (例:my-app:1.2.3) --target string マルチステージにおいて中間イメージにタグをつける --ulimit ulimit Ulimitオプション (デフォルト:[])