LoginSignup
6
4

More than 5 years have passed since last update.

Docker for Macで新イメージビルダーBuildKitを使う

Last updated at Posted at 2018-07-23

目的

Dockerの18.06.0-ceにおいてexperimentalな機能として
DockerのコンテナイメージビルダとしてBuildKitが組み込まれました。
その利用方法を説明します。

使い方

edge版を導入し、Engineのversionが18.06.0-ce-rc3であることを確認する。

image.png

DockerのドロップダウンメニューからPreferencesを開く。
image.png

ExperimentalのチェックボックスをONにして、Apply & Restartボタンをクリックしてdockerを再起動します。

image.png

docker-infoの結果
$ docker info
Containers: 20
 Running: 20
 Paused: 0
 Stopped: 0
Images: 25
Server Version: 18.06.0-ce-rc3
〜〜〜〜〜中略〜〜〜〜〜
Labels:
Experimental: true  # ここがtrueになっていることを確認する
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

環境変数にDOCKER_BUILDKIT=1を追加する。
~/.bash_profileの末尾にでも入れればいいのではないかな。

DockerのCLI側設定
$ echo 'DOCKER_BUILDKIT=1' >> ~/.bash_profile
$ source ~/.bash_profile
$ env | grep DOCKER_BUILDKIT
DOCKER_BUILDKIT=1

イメージをビルドするといつも見慣れたイメージビルドの表示ではなく、
あまり見慣れない感じで進みます。
一部のビルドステップが並列で進むことも確認できました。

動作確認
$ docker build -t test -f ./dockerfile/test `pwd`
[+] Building 13.5s (8/8) FINISHED
 => local://dockerfile (test)                                               0.0s
 => => transferring dockerfile: 212B                                               0.0s
 => local://context (.dockerignore)                                                0.0s
 => => transferring context: 02B                                                   0.0s
 => CACHED docker-image://docker.io/tonistiigi/copy:v0.1.3@sha256:e57a3b4d6240f55  0.0s
 => docker-image://docker.io/library/nginx:1.14@sha256:9b52c379180db988f7ff5f90ea  7.5s
 => => resolve docker.io/library/nginx:1.14@sha256:9b52c379180db988f7ff5f90ea851b  0.0s
 => => sha256:f4eba7658e18b5014950e0014eef035705bee0d89ededc66e564fd6 201B / 201B  3.0s
 => => sha256:9b52c379180db988f7ff5f90ea851bf502fdf35c6b96b3bf649 2.03kB / 2.03kB  0.0s
 => => sha256:c6ba044660fad5d45cb3ee11063f39af0dd56b775c21baff28e4bb4 948B / 948B  0.0s
 => => sha256:8ae4d16b741a05f342a364d7012848cca66872706b90ea4bfbb 6.00kB / 6.00kB  0.0s
 => => sha256:b4babd36efe54ae56731a12912fca977eb2767d797444f299 22.11MB / 22.11MB  6.6s
 => => extracting sha256:b4babd36efe54ae56731a12912fca977eb2767d797444f299ddd8666  0.6s
 => => extracting sha256:f4eba7658e18b5014950e0014eef035705bee0d89ededc66e564fd6f  0.0s
 => local://context                                                                0.0s
 => => transferring context: 2.80kB                                                0.0s
 => copy /src-0/default.conf etc/nginx/conf.d/default.conf                         0.5s
 => copy /src-0/nginx.conf etc/nginx/nginx.conf                                    0.4s
 => exporting to image                                                             0.0s
 => => exporting layers                                                            0.0s
 => => writing image sha256:f2f797226f1fa3a4b9c22d2ae640f6006f0f0db07b8e9bfe0bf26  0.0s
 => => naming to docker.io/library/test                                            0.0s

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4