🐈

DockerイメージからDockerビルド時の履歴を確認する方法とは?

2023/06/30に公開

はじめに

CI/CDやDockerに関わる業務をやっておりますが、「Build時にどんな処理をしてDockerイメージができたのかを確認したい」と思う時がありました。
今回は、DockerイメージからDockerビルド時の履歴を確認する方法についてまとめたいと思います。

環境

  • Docker 24.0.2
version
$ docker -v
Docker version 24.0.2, build cb74dfc

対応方法

以下のコマンドで確認することが可能です。

コマンド
docker history <イメージ名>:<タグ名>
実行例
$ docker history 555246305565.dkr.ecr.ap-northeast-1.amazonaws.com/apache-test:v1
IMAGE          CREATED       CREATED BY                                       SIZE      COMMENT
53ac4687315d   8 days ago    EXPOSE map[80/tcp:{}]                            0B        buildkit.dockerfile.v0
<missing>      8 days ago    COPY index.html /usr/local/apache2/htdocs/ #…   70B       buildkit.dockerfile.v0
<missing>      2 weeks ago   /bin/sh -c #(nop)  CMD ["httpd-foreground"]      0B
<missing>      2 weeks ago   /bin/sh -c #(nop)  EXPOSE 80                     0B
<missing>      2 weeks ago   /bin/sh -c #(nop) COPY file:c432ff61c4993ecd…   138B
<missing>      2 weeks ago   /bin/sh -c #(nop)  STOPSIGNAL SIGWINCH           0B
<missing>      2 weeks ago   /bin/sh -c set -eux;   savedAptMark="$(apt-m…   82.4MB
<missing>      2 weeks ago   /bin/sh -c #(nop)  ENV HTTPD_PATCHES=rewrite…   0B
<missing>      2 weeks ago   /bin/sh -c #(nop)  ENV HTTPD_SHA256=dbccb84a…   0B
<missing>      2 weeks ago   /bin/sh -c #(nop)  ENV HTTPD_VERSION=2.4.57      0B
<missing>      2 weeks ago   /bin/sh -c set -eux;  apt-get update;  apt-g…   11MB
<missing>      2 weeks ago   /bin/sh -c #(nop) WORKDIR /usr/local/apache2     0B
<missing>      2 weeks ago   /bin/sh -c mkdir -p "$HTTPD_PREFIX"  && chow…   0B
<missing>      2 weeks ago   /bin/sh -c #(nop)  ENV PATH=/usr/local/apach…   0B
<missing>      2 weeks ago   /bin/sh -c #(nop)  ENV HTTPD_PREFIX=/usr/loc…   0B
<missing>      2 weeks ago   /bin/sh -c #(nop)  CMD ["bash"]                  0B
<missing>      2 weeks ago   /bin/sh -c #(nop) ADD file:ba1250b6ecd5dd09d…   74.8MB

イメージIDでも確認することが可能です。

コマンド
docker history <イメージID>
実行例
$ docker history 53ac4687315d
IMAGE          CREATED       CREATED BY                                       SIZE      COMMENT
53ac4687315d   8 days ago    EXPOSE map[80/tcp:{}]                            0B        buildkit.dockerfile.v0
<missing>      8 days ago    COPY index.html /usr/local/apache2/htdocs/ #…   70B       buildkit.dockerfile.v0
<missing>      2 weeks ago   /bin/sh -c #(nop)  CMD ["httpd-foreground"]      0B
<missing>      2 weeks ago   /bin/sh -c #(nop)  EXPOSE 80                     0B
<missing>      2 weeks ago   /bin/sh -c #(nop) COPY file:c432ff61c4993ecd…   138B
<missing>      2 weeks ago   /bin/sh -c #(nop)  STOPSIGNAL SIGWINCH           0B
<missing>      2 weeks ago   /bin/sh -c set -eux;   savedAptMark="$(apt-m…   82.4MB
<missing>      2 weeks ago   /bin/sh -c #(nop)  ENV HTTPD_PATCHES=rewrite…   0B
<missing>      2 weeks ago   /bin/sh -c #(nop)  ENV HTTPD_SHA256=dbccb84a…   0B
<missing>      2 weeks ago   /bin/sh -c #(nop)  ENV HTTPD_VERSION=2.4.57      0B
<missing>      2 weeks ago   /bin/sh -c set -eux;  apt-get update;  apt-g…   11MB
<missing>      2 weeks ago   /bin/sh -c #(nop) WORKDIR /usr/local/apache2     0B
<missing>      2 weeks ago   /bin/sh -c mkdir -p "$HTTPD_PREFIX"  && chow…   0B
<missing>      2 weeks ago   /bin/sh -c #(nop)  ENV PATH=/usr/local/apach…   0B
<missing>      2 weeks ago   /bin/sh -c #(nop)  ENV HTTPD_PREFIX=/usr/loc…   0B
<missing>      2 weeks ago   /bin/sh -c #(nop)  CMD ["bash"]                  0B
<missing>      2 weeks ago   /bin/sh -c #(nop) ADD file:ba1250b6ecd5dd09d…   74.8MB

参考

https://docs.docker.com/engine/reference/commandline/history/

Discussion