dockerのbuildkitを使ってみました。
試した環境は、下記の環境で、手持ちのDockerfileをビルドして、時間とサイズを比較してみました。
$ docker --version Docker version 18.06.0-ce, build 0ffa825 $
従来のビルド
$ time docker build -t test --no-cache . ... 中略... real 9m52.781s user 0m1.090s sys 0m0.760s $ docker images | grep test test latest a5b8c348f848 About a minute ago 1.92GB $
BuildKitを使ったビルド
$ export DOCKER_BUILDKIT=1 $ time docker build -t test --no-cache . ... 中略... real 9m24.446s user 0m2.170s sys 0m4.190s $ docker images | grep test test latest 2e612a3380d0 About a minute ago 1.92GB $
DockerfileにADDでURLから取得する処理が多かったので若干早くなった程度でした。
ビルドの経過がステップごとに表示され、可能な部分は並列で実行していることがわかります。
ステップごとの処理時間がわかりやすく表示されるので、Dockerfileから削除しても良さそうな処理に気が付きやすいです。
デフォルトで使っていこう。