Docker images/rmi/history/commit/tag/build/trustコマンド

トップ > Docker > コマンド > docker images/rmi/history/commit/tag/build/trust

目次

docker images

ダウンロード済みのイメージの一覧を表示します。

Shell
# 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>) のみを表示します。

Shell
# docker images -f dangling=true

定期的に不要なイメージを削除するには、下記を実行すると便利です。<none> であっても、使用中のイメージは削除されません。

Shell
# docker rmi $(docker images -f "dangling=true" -q)

-f label=... は、ラベルによりフィルタリングします。下記は、org.label-schema.vendor ラベルが CentOS であるものを表示します。ラベルの一覧は「docker inspect イメージ名」で調べられます。

Shell
# docker images -f label=org.label-schema.vendor=CentOS

-f before=... は、指定したイメージよりも古いもの、-f since=... は、指定したイメージよりも新しいものを表示します。

Shell
# docker images -f before=image3
# docker images -f since=image3

その他、下記のオプションを使用可能です。

Options
-a, --all         全てのイメージを表示する
--digests         ダイジェストを表示する
--format string   指定したフォーマットで表示する
--no-trunc        表示を省略しない
-q, --quiet       イメージIDのみを表示する

docker rmi

イメージを削除します。イメージ名またはイメージIDを指定します。

Shell
# docker rmi image1
# docker rmi 99c1098d5884

下記のオプションを使用可能です。

Options
-f, --force   イメージが使用中であっても強制的に削除します。
--no-prune    タグ付けされていない親イメージは削除しない

docker history

イメージのヒストリ情報を表示します。

Shell
# 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

下記のオプションを使用可能です。

Options
--format format    フォーマットを指定する
-H, --human        サイズと日付を人が読みやすい書式で表示
--no-trunc         表示を省略しない
-q, --quiet        イメージIDのみを表示する

docker commit

コンテナからイメージを作成します。

Shell
# docker commit cont1 image1:latest

-c (--change)オプションは、イメージ作成時に追加の Dockerfile コマンドを指定します。

Shell
# docker commit -c 'CMD ["/usr/sbin/httpd", "-DFOREGROUND"]' cont1 image1:latest

他には、下記のオプションを指定できます。

Options
-a, --author string     作者を指定
-m, --message string    historyで表示されるコメントを追加
-p, --pause             コミット中にコンテナを一時停止(pause)する

docker tag

イメージにタグ付けします。タグ名は最大128文字のアンダースコア(_)、ピリオド(.)、スラッシュ(-)を含む半角英数字です。ピリオド(.)やスラッシュ(-)で始まることはできません。

Shell
# docker tag my-app my-app:1.2.3

Docker Hub に push できる形式でタグ付けします。

Shell
# docker tag my-app ${DOCKER_ID}/my-app

AWS ECR に push できる形式でタグ付けします。

Shell
# export AWS_ACCOUNT_ID=...
# export AWS_REGION=...
# docker tag my-app ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com/my-app:latest

ローカルレジストリに push できる形式でタグ付けします。

Shell
# docker tag my-app local-registry.example.com:5000/my-app:latest

docker build

Dockerfile からイメージを作成します。詳細は Dockerfile を参照してください。

Shell
# 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

下記のオプションを指定できます。

Options
--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オプション (デフォルト:[])

docker trust

(未稿)

Copyright (C) 2019 杜甫々
初版:2019年9月1日 最終更新:2019年9月1日
http://www.tohoho-web.com/docker/docker_images.html