Docker イメージを基にどんな Dockerfile が書かれていたか復元する
ある Docker イメージを見た時に、どのような Dockerfile によってそのイメージが生まれたのかを調べる方法。
$ docker history --no-trunc 【IMAGE NAME】:【TAG】
# 例えば以下のように
$ docker history --no-trunc node:14-alpine
$ docker history --no-trunc my-example-image:0.1
docker history は docker image history というコマンドで書いても同じ。
ターミナル上だと読みづらいと思うので、> docker-history.txt のようにファイルに書き出して読むと良いだろう。
EXPOSE・COPY・RUN 命令などの実行内容と順序が確認できるので、どういう apt-get や yum が実行されたかとか、おおよそどんなファイルがコピーされたか、などが読み解ける。
COPY についてはハッシュ値しか分からず、ファイルの中身までは知りようがない。