diff --git a/_config.yml b/_config.yml index 23df4df265..f1cdfbe86d 100644 --- a/_config.yml +++ b/_config.yml @@ -51,6 +51,7 @@ compose_file_v2: "2.4" machine_version: "0.16.0" distribution_version: "2.7" compose_switch_version: "1.0.4" +buildkit_version: "0.10.5" # Options for displaying minimum API version requirements in the reference pages. # @@ -217,3 +218,6 @@ fetch-remote: - dest: "engine/reference/builder.md" src: - "frontend/dockerfile/docs/reference.md" + - dest: "build/buildkit/toml-configuration.md" + src: + - "docs/buildkitd.toml.md" diff --git a/_data/toc.yaml b/_data/toc.yaml index 931c4e1de6..0b1a00f3f3 100644 --- a/_data/toc.yaml +++ b/_data/toc.yaml @@ -1561,6 +1561,10 @@ manuals: title: Overview - path: /build/buildkit/dockerfile-frontend/ title: Custom Dockerfile syntax + - path: /build/buildkit/configure/ + title: Configure + - path: /build/buildkit/toml-configuration/ + title: TOML configuration - sectiontitle: Buildx section: - path: /build/buildx/install/ diff --git a/build/buildkit/configure.md b/build/buildkit/configure.md new file mode 100644 index 0000000000..2f8d0999f7 --- /dev/null +++ b/build/buildkit/configure.md @@ -0,0 +1,179 @@ +--- +title: Configure BuildKit +description: Learn how to configure BuildKit for your builder. +keywords: build, buildkit, configuration, buildx, network, cni, registry +--- + +If you [create a `docker-container` or `kubernetes` builder](../building/drivers/index.md) +with Buildx, you can set a custom [BuildKit configuration](toml-configuration.md) +by passing the [`--config` flag](../../engine/reference/commandline/buildx_create.md#config) +to the [`docker buildx create` command](../../engine/reference/commandline/buildx_create.md): + +## Registry mirror + +You can define a registry mirror to use for your builds: + +```toml +# /etc/buildkitd.toml +debug = true +[registry."docker.io"] + mirrors = ["mirror.gcr.io"] +``` + +> **Note** +> +> `debug = true` has been added to be able to debug requests +> in the BuildKit daemon and see if the mirror is effectively used. + +Then [create a `docker-container` builder](../building/drivers/docker-container.md) +that will use this [BuildKit configuration](toml-configuration.md): + +```console +$ docker buildx create --use --bootstrap \ + --name mybuilder \ + --driver docker-container \ + --config /etc/buildkitd.toml +``` + +Build an image: + +```console +$ docker buildx build --load . -f-< **Note** +> +> Here we use the [CNI config for integration tests in BuildKit](https://github.com/moby/buildkit/blob/master//hack/fixtures/cni.json){:target="_blank" rel="noopener" class="_"}, +> but feel free to use your own config. + +Now build this image: + +```console +$ docker buildx build --tag buildkit-cni:local --load . +``` + +Then [create a `docker-container` builder](../building/drivers/docker-container.md) +that will use this image: + +```console +$ docker buildx create --use --bootstrap \ + --name mybuilder \ + --driver docker-container \ + --driver-opt "image=buildkit-cni:local" \ + --buildkitd-flags "--oci-worker-net=cni" +``` diff --git a/build/buildkit/toml-configuration.md b/build/buildkit/toml-configuration.md new file mode 100644 index 0000000000..5ac915818a --- /dev/null +++ b/build/buildkit/toml-configuration.md @@ -0,0 +1,7 @@ +--- +title: BuildKit TOML configuration +keywords: build, buildkit, configuration +fetch_remote: + line_start: 2 + line_end: -1 +--- diff --git a/build/images/buildkit-progress-colors.png b/build/images/buildkit-progress-colors.png new file mode 100644 index 0000000000..56c8ea15d7 Binary files /dev/null and b/build/images/buildkit-progress-colors.png differ diff --git a/build/images/buildkit-progress-nocolor.png b/build/images/buildkit-progress-nocolor.png new file mode 100644 index 0000000000..dcde131d73 Binary files /dev/null and b/build/images/buildkit-progress-nocolor.png differ diff --git a/build/index.md b/build/index.md index d456e473bc..3b6361f3d2 100644 --- a/build/index.md +++ b/build/index.md @@ -121,6 +121,7 @@ own to BuildKit using the power of custom frontends. ### Configure BuildKit -Take a deep dive into the internal BuildKit configuration to get the most out -of your builds. See also [`buildkitd.toml`](https://github.com/moby/buildkit/blob/master/docs/buildkitd.toml.md), -the configuration file for `buildkitd`. +Take a deep dive into the internal [BuildKit configuration](buildkit/toml-configuration.md) +to get the most out of your builds. + +[Configure BuildKit](buildkit/configure.md){: .button .outline-btn }