Dockerメモ : awesome-dockerで紹介されているDocker関連の便利ツールで知らなかったツールを試してみた。
diveはイメージやレイヤーを分析して、イメージを軽量化する手助けをするツール。
以下は環境情報。
# cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=18.04 DISTRIB_CODENAME=bionic DISTRIB_DESCRIPTION="Ubuntu 18.04.5 LTS" # docker --version Docker version 20.10.6, build 370c289
インストール
# wget https://github.com/wagoodman/dive/releases/download/v0.9.2/dive_0.9.2_linux_amd64.deb # apt install ./dive_0.9.2_linux_amd64.deb # dpkg -l | grep dive ii dive 0.9.2 amd64 no description given # dive --version dive 0.9.2
diveを使ってみる
イメージ名を指定することで結果が表示される。
# dive nginx
イメージをどのように構築したかを確認できるdocker historyと異なって以下の特徴がある。
・左下[Image Details]にて削除できそうなファイルを確認可能。
・右側[Current Layer Contents]にてディレクトリ構造が閲覧可能。追加されたものは緑色、変更は黄色で確認可能。
これらの情報から不要なファイルを削除するようにDockerfileなどを修正する。
参考:docker hisotry コマンド実行時
# docker history nginx IMAGE CREATED CREATED BY SIZE COMMENT f0b8a9a54136 12 days ago /bin/sh -c #(nop) CMD ["nginx" "-g" "daemon… 0B <missing> 12 days ago /bin/sh -c #(nop) STOPSIGNAL SIGQUIT 0B <missing> 12 days ago /bin/sh -c #(nop) EXPOSE 80 0B <missing> 12 days ago /bin/sh -c #(nop) ENTRYPOINT ["/docker-entr… 0B <missing> 12 days ago /bin/sh -c #(nop) COPY file:09a214a3e07c919a… 4.61kB <missing> 12 days ago /bin/sh -c #(nop) COPY file:0fd5fca330dcd6a7… 1.04kB <missing> 12 days ago /bin/sh -c #(nop) COPY file:0b866ff3fc1ef5b0… 1.96kB <missing> 12 days ago /bin/sh -c #(nop) COPY file:65504f71f5855ca0… 1.2kB <missing> 12 days ago /bin/sh -c set -x && addgroup --system -… 63.9MB <missing> 12 days ago /bin/sh -c #(nop) ENV PKG_RELEASE=1~buster 0B <missing> 12 days ago /bin/sh -c #(nop) ENV NJS_VERSION=0.5.3 0B <missing> 12 days ago /bin/sh -c #(nop) ENV NGINX_VERSION=1.19.10 0B <missing> 12 days ago /bin/sh -c #(nop) LABEL maintainer=NGINX Do… 0B <missing> 12 days ago /bin/sh -c #(nop) CMD ["bash"] 0B <missing> 12 days ago /bin/sh -c #(nop) ADD file:7362e0e50f30ff454… 69.3MB