Ubuntu 18.04 LTSで Dockerの便利ツール試してみた(dive)

  • 投稿者:
  • 投稿カテゴリー:docker

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