docker image COMMAND
の形式でイメージ管理するためのコマンドを実行できます。
ここでは、Dockerイメージの管理に必要なコマンドの利用方法について解説します。
目次
docker imageの使い方
docker image
と入力すると利用できるコマンド一覧を確認できます。
$ docker image
Usage: docker image COMMAND
Manage images
Commands:
build Build an image from a Dockerfile
history Show the history of an image
import Import the contents from a tarball to create a filesystem image
inspect Display detailed information on one or more images
load Load an image from a tar archive or STDIN
ls List images
prune Remove unused images
pull Pull an image or a repository from a registry
push Push an image or a repository to a registry
rm Remove one or more images
save Save one or more images to a tar archive (streamed to STDOUT by default)
tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
Run 'docker image COMMAND --help' for more information on a command.
docker image
で利用できる主なコマンドについて紹介します。
build|イメージ構築
Dockerfile
から Dockerイメージ
を作成します。
$ docker image build -t xxxx/xxxx:latest .
上記例では以下のことを行っています。
- カレントディレクトリに存在する
Dockerfile
からイメージを生成しています。 xxxx/xxxx
というイメージ名
を指定しています。latest
というタグ
を指定しています。
history|イメージ履歴表示
イメージの更新履歴を確認できます。
$ docker image history xxxx/sample
IMAGE CREATED CREATED BY SIZE COMMENT
405c0c2128b0 About an hour ago /bin/sh -c #(nop) CMD ["/usr/sbin/httpd" "-… 0B
663d23b0e382 About an hour ago /bin/sh -c #(nop) EXPOSE 80 0B
54494df97f03 About an hour ago /bin/sh -c #(nop) ADD file:44be4544761aa0761… 6B
63705b954430 About an hour ago /bin/sh -c sed -i '/#ServerName/a ServerName… 11.8kB
4f1edd78b3da About an hour ago /bin/sh -c yum -y install httpd 126MB
0975764fc064 About an hour ago /bin/sh -c echo "now building..." 0B
5182e96772bf 5 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B
<missing> 5 weeks ago /bin/sh -c #(nop) LABEL org.label-schema.sc… 0B
<missing> 5 weeks ago /bin/sh -c #(nop) ADD file:6340c690b08865d7e… 200MB
inspect|イメージ詳細表示
イメージの詳細情報を確認できます。
$ docker image inspect xxxx/sample
[
{
"Id": "sha256:405c0c2128b01cac3f107e1ab1046d3bf7f14f35dd30a643cca9c450d28cb76c",
"RepoTags": [
"xxxx/sample:latest"
],
(省略)
ls|イメージ一覧表示
作成されたイメージ一覧を確認できます。
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
xxxx/sample latest 405c0c2128b0 About an hour ago 326MB
centos 7 5182e96772bf 5 weeks ago 200MB
pull|レジストリからイメージを取得
以下例では、Docker Hubから ubuntu:18.04
のイメージを取得しています。
$ docker image pull ubuntu:18.04
18.04: Pulling from library/ubuntu
124c757242f8: Pull complete
2ebc019eb4e2: Pull complete
dac0825f7ffb: Pull complete
82b0bb65d1bf: Pull complete
ef3b655c7f88: Pull complete
Digest: sha256:72f832c6184b55569be1cd9043e4a80055d55873417ea792d989441f207dd2c7
Status: Downloaded newer image for ubuntu:18.04
push|レジストリにイメージを送信
docker push イメージ名
rm|イメージ削除
イメージを削除できます。
コンテナが使っていないイメージをすべて削除するには、以下のようにします。
docker image rm $(docker image ls -q)
prune|使用していないイメージ削除
コンテナが使っていないイメージをすべて削除できます。Docker1.13以降
で利用できます。
$ docker image prune
tag|タグを付ける
新しくタグを付けることができます。
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
xxxx/sample latest 405c0c2128b0 2 hours ago 326MB
centos 7 5182e96772bf 5 weeks ago 200MB
$
$ docker tag 405c0c2128b0 yyyy/sample:latest
$
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
xxxx/sample latest 405c0c2128b0 2 hours ago 326MB
yyyy/sample latest 405c0c2128b0 2 hours ago 326MB
centos 7 5182e96772bf 5 weeks ago 200MB