Programming Self-Study Notebook

勉強したことを忘れないように! 思い出せるように!!

Dockerイメージの操作

f:id:overworker:20200628105903p:plain
  • 自分のノート代わりのメモです。

1.イメージのダウンロード

構文

docker image pull [オプション] イメージ名[:タグ名]

オプションについて

オプション 説明
--all,-a すべてのイメージを表示
--digests ダイジェストを表示するかどうか
--no-trunc 結果をすべて表示する
--quiet,-q DockerイメージIDのみ表示
  • タグ名を省略すると最新版(latest)が取得されます。
  • オプションで-aを使用するとすべてのDockerイメージを取得できます。

入力コマンド

docker image pull centos:7

コマンド入力結果

C:\Users\******>docker image pull centos:7
7: Pulling from library/centos
524b0c1e57f8: Pull complete
Digest: sha256:e9ce0b76f29f942502facd849f3e468232492b259b9d9f076f71b392293f1582
Status: Downloaded newer image for centos:7
docker.io/library/centos:7

2.イメージの一覧取得

構文

docker image ls [オプション] [リポジトリ名]

入力コマンド+結果(オプションなし、--all、-a)

C:\Users\******>docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              74435f89ab78        11 days ago         73.9MB
nginx               latest              2622e6cca7eb        2 weeks ago         132MB
centos              7                   b5b4d78bc90c        7 weeks ago         203MB

結果表示の内容の意味

表記 意味
REPOSITORY イメージの名前
TAG イメージタグ名
IMAGE ID イメージID
CREATED 作成日
SIZE イメージのサイズ
DIGEST Dockerレジストリにアップロードしたイメージはイメージ一意に識別するためのダイジェストが付与される

入力コマンド+結果(--digests)

C:\Users\******>docker image ls --digests
REPOSITORY          TAG                 DIGEST                                                                    IMAGE ID            CREATED             SIZE
ubuntu              latest              sha256:35c4a2c15539c6c1e4e5fa4e554dac323ad0107d8eb5c582d6ff386b383b7dce   74435f89ab78        11 days ago         73.9MB
nginx               latest              sha256:21f32f6c08406306d822a0e6e8b7dc81f53f336570e852e25fbe1e3e3d0d0133   2622e6cca7eb        2 weeks ago         132MB
centos              7                   sha256:e9ce0b76f29f942502facd849f3e468232492b259b9d9f076f71b392293f1582   b5b4d78bc90c        7 weeks ago         203MB

入力コマンド+結果(--no-trunc)

C:\Users\******>docker image ls --no-trunc
REPOSITORY          TAG                 IMAGE ID                                                                  CREATED             SIZE
ubuntu              latest              sha256:74435f89ab7825e19cf8c92c7b5c5ebd73ae2d0a2be16f49b3fb81c9062ab303   11 days ago         73.9MB
nginx               latest              sha256:2622e6cca7ebbb6e310743abce3fc47335393e79171b9d76ba9d4f446ce7b163   2 weeks ago         132MB
centos              7                   sha256:b5b4d78bc90ccd15806443fb881e35b5ddba924e2f475c1071a38a3094c3081d   7 weeks ago         203MB

入力コマンド+結果(--quiet)

C:\Users\******>docker image ls --quiet
74435f89ab78
2622e6cca7eb
b5b4d78bc90c

3.イメージの詳細確認

構文

docker image inspect centos:7

オプションについて

オプション 説明
--format JSON形式データの階層構造を指定する

結果表示の内容の意味 - JSON形式で表示される

入力コマンド+結果(centos:7)

[
    {
        "Id": "sha256:b5b4d78bc90ccd15806443fb881e35b5ddba924e2f475c1071a38a3094c3081d",
        "RepoTags": [
            "centos:7"
        ],
        "RepoDigests": [
            "centos@sha256:e9ce0b76f29f942502facd849f3e468232492b259b9d9f076f71b392293f1582"
        ],
        "Parent": "",
        "Comment": "",
        "Created": "2020-05-05T21:20:07.182447994Z",
        "Container": "c171c5a1528a7b8dfc74e0fdf97920d6fc5dd3f13eb85fe52dcb4a0e0e5718d6",
        "ContainerConfig": {
            "Hostname": "c171c5a1528a",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "#(nop) ",
                "CMD [\"/bin/bash\"]"
            ],
            "ArgsEscaped": true,
            "Image": "sha256:05725afb15e4a11b8836204faa73c873f0466c31921ddc8f999f1e46a582d739",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "org.label-schema.build-date": "20200504",
                "org.label-schema.license": "GPLv2",
                "org.label-schema.name": "CentOS Base Image",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vendor": "CentOS",
                "org.opencontainers.image.created": "2020-05-04 00:00:00+01:00",
                "org.opencontainers.image.licenses": "GPL-2.0-only",
                "org.opencontainers.image.title": "CentOS Base Image",
                "org.opencontainers.image.vendor": "CentOS"
            }
        },
        "DockerVersion": "18.09.7",
        "Author": "",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/bash"
            ],
            "ArgsEscaped": true,
            "Image": "sha256:05725afb15e4a11b8836204faa73c873f0466c31921ddc8f999f1e46a582d739",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "org.label-schema.build-date": "20200504",
                "org.label-schema.license": "GPLv2",
                "org.label-schema.name": "CentOS Base Image",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vendor": "CentOS",
                "org.opencontainers.image.created": "2020-05-04 00:00:00+01:00",
                "org.opencontainers.image.licenses": "GPL-2.0-only",
                "org.opencontainers.image.title": "CentOS Base Image",
                "org.opencontainers.image.vendor": "CentOS"
            }
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 203343032,
        "VirtualSize": 203343032,
        "GraphDriver": {
            "Data": {
                "MergedDir": "/var/lib/docker/overlay2/33cfb48206b098555f1117a11f44559641cdffe8dc258ad5d2939c014840bd53/merged",
                "UpperDir": "/var/lib/docker/overlay2/33cfb48206b098555f1117a11f44559641cdffe8dc258ad5d2939c014840bd53/diff",
                "WorkDir": "/var/lib/docker/overlay2/33cfb48206b098555f1117a11f44559641cdffe8dc258ad5d2939c014840bd53/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:edf3aa290fb3c255a84fe836109093fbfeef65c08544f655fad8d6afb53868ba"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]

入力コマンド+結果(取得する情報のキーを指定する場合)

C:\Users\******>docker image inspect --format="{{ .Os }}" centos:7
linux
C:\Users\******>docker image inspect --format="{{ .ContainerConfig.Image }}" centos:7
sha256:05725afb15e4a11b8836204faa73c873f0466c31921ddc8f999f1e46a582d739

4.イメージのタグ設定 (未実施)

5.イメージの検索

構文

docker search [オプション] 検索キーワード

オプションについて

オプション 説明
--no-trunc 結果をすべて表示する
--limit n件の検索結果をひょおうじする
--filter=stars=n お気に入り数(n以上)の指定

結果表示の内容の意味

オプション 説明
NAME 名前
DESCRIPTION イメージの説明
STARS ユーザーからのお気に入りの件数
DFFICIAL 公式イメージ化どうか
AUTOMATED Dockerfileをもとに自動生成されたイメージかどうか

入力コマンド+結果

C:\Users\******>docker search nginx
NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
nginx                              Official build of Nginx.                        13389               [OK]
jwilder/nginx-proxy                Automated Nginx reverse proxy for docker con…   1829                                    [OK]
richarvey/nginx-php-fpm            Container running Nginx + PHP-FPM capable of…   779                                     [OK]
linuxserver/nginx                  An Nginx container, brought to you by LinuxS…   117
bitnami/nginx                      Bitnami nginx Docker Image                      85                                      [OK]
tiangolo/nginx-rtmp                Docker image with Nginx using the nginx-rtmp…   80                                      [OK]
alfg/nginx-rtmp                    NGINX, nginx-rtmp-module and FFmpeg from sou…   69                                      [OK]
jc21/nginx-proxy-manager           Docker container for managing Nginx proxy ho…   66
nginxdemos/hello                   NGINX webserver that serves a simple page co…   54                                      [OK]
jlesage/nginx-proxy-manager        Docker container for Nginx Proxy Manager        47                                      [OK]
nginx/nginx-ingress                NGINX Ingress Controller for Kubernetes         35
privatebin/nginx-fpm-alpine        PrivateBin running on an Nginx, php-fpm & Al…   28                                      [OK]
schmunk42/nginx-redirect           A very simple container to redirect HTTP tra…   18                                      [OK]
nginxinc/nginx-unprivileged        Unprivileged NGINX Dockerfiles                  16
raulr/nginx-wordpress              Nginx front-end for the official wordpress:f…   13                                      [OK]
centos/nginx-112-centos7           Platform for running nginx 1.12 or building …   13
centos/nginx-18-centos7            Platform for running nginx 1.8 or building n…   13
nginx/nginx-prometheus-exporter    NGINX Prometheus Exporter                       12
sophos/nginx-vts-exporter          Simple server that scrapes Nginx vts stats a…   7                                       [OK]
mailu/nginx                        Mailu nginx frontend                            7                                       [OK]
bitnami/nginx-ingress-controller   Bitnami Docker Image for NGINX Ingress Contr…   6                                       [OK]
bitwarden/nginx                    The Bitwarden nginx web server acting as a r…   6
wodby/nginx                        Generic nginx                                   1                                       [OK]
ansibleplaybookbundle/nginx-apb    An APB to deploy NGINX                          1                                       [OK]
centos/nginx-110-centos7           Platform for running nginx 1.10 or building …   0

6.イメージの削除

構文(指定して削除)

docker image rm [オプション] イメージ名 [イメージ名]

オプションについて

オプション 説明
--force,-f イメージを強制的に削除する
--no-prun 中間イメージを削除しない

入力コマンド+結果

C:\Users\******>docker image rm nginx
Error response from daemon: conflict: unable to remove repository reference "nginx" (must force) - container 102e5532fcb0 is using its referenced image 2622e6cca7eb

C:\Users\******>docker image rm nginx -f
Untagged: nginx:latest
Untagged: nginx@sha256:21f32f6c08406306d822a0e6e8b7dc81f53f336570e852e25fbe1e3e3d0d0133
Deleted: sha256:2622e6cca7ebbb6e310743abce3fc47335393e79171b9d76ba9d4f446ce7b163

構文(未使用のDockerイメージを削除)

docker image prune [オプション]

オプションについて

オプション 説明
--all,-a 使用していないイメージをすべて削除
--force,-f イメージを強制的に削除する

入力コマンド+結果

C:\Users\******>docker image prune -a
WARNING! This will remove all images without at least one container associated to them.
Are you sure you want to continue? [y/N] y
Deleted Images:
untagged: centos:7
untagged: centos@sha256:e9ce0b76f29f942502facd849f3e468232492b259b9d9f076f71b392293f1582
deleted: sha256:b5b4d78bc90ccd15806443fb881e35b5ddba924e2f475c1071a38a3094c3081d
deleted: sha256:edf3aa290fb3c255a84fe836109093fbfeef65c08544f655fad8d6afb53868ba

Total reclaimed space: 203.3MB

C:\Users\******>docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              74435f89ab78        11 days ago         73.9MB

7.Docker Hubへのログイン(未実施)

8.イメージのアップロード(未実施)

9.Docker Hubからのログアウト(未実施)

参考文献

以下の本を読みながら、Dockerの勉強を開始しました。

その他の記事へ