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
についてはハッシュ値しか分からず、ファイルの中身までは知りようがない。