BuildKit
BuildKit はどうやってdocker image をビルドしているか
BuildKit は今までの docker build では課題だったパフォーマンスとセキュリティを向上させるプロジェクト。build時に
任意の形式からLLBという中間バイナリ表現に変換する。変換されたllbはbuild。
BuildKitプロジェクトではLLB形式に変換する部分を フロントエンド と呼んでいる。フロントエンドは実行時に実装を切り替えられるようになっている。例えばビルド時に任意の方式でマウントする機能など、既存にない機能は Dockerfileの1行目に # syntax = docker/dockerfile:experimental とコメントを書くことで提供する。プラガブルな機能提供を実現している。
ビルド時に任意の方式でマウントする
インストール方法
code:shell
$ docker run --name buildkit -d --privileged -p 1234:1234 moby/buildkit --addr tcp://0.0.0.0:1234
$ export BUILDKIT_HOST=tcp://0.0.0.0:1234
$ docker cp buildkit:/usr/bin/buildctl /usr/local/bin/ # For OS X and Windows, download from https://github.com/moby/buildkit/releases
buildctl build --help
関連サイト
https://github.com/moby/buildkit
https://hub.docker.com/r/moby/buildkit
https://blog.manabusakai.com/2018/12/docker-build-secret/
#docker