docker buildx create
読む時間の目安: 7 分
説明
新規にビルダーインスタンスを生成します。
利用方法
$ docker buildx create [オプション] [CONTEXT|ENDPOINT]
追加説明
Create makes a new builder instance pointing to a docker context or endpoint,
where context is the name of a context from docker context ls and endpoint is
the address for docker socket (eg. DOCKER_HOST value).
By default, the current Docker configuration is used for determining the context/endpoint value.
Builder instances are isolated environments where builds can be invoked. All Docker contexts also get the default builder instance.
本コマンドの利用例については、以下に示す 利用例の節 を参照してください。
オプション
| 名前/省略形 | デフォルト | 説明 |
--append |
||
--bootstrap |
ビルダーを生成後に起動します。 | |
--buildkitd-flags |
buildkitd デーモンへのフラグ | |
--config |
BuildKit 設定ファイル | |
--driver |
利用するドライバーを指定します (docker, docker-container, kubernetes) |
|
--driver-opt |
ドライバー用のオプション。 | |
--leave |
ビルダーを変更することなく、ビルダーからノードを削除します。 | |
--name |
ビルダーインスタンスの名前を指定します。 | |
--node |
指定した名前でノードを生成、修正します。 | |
--platform |
現在のノードに対する固定プラットフォームを指定します。 | |
--use |
現在のビルダーインスタンスを設定します。 | |
--builder |
設定された builder インスタンスをオーバーライドします。 |
利用例
Append a new node to an existing builder (--append)
The --append flag changes the action of the command to append a new node to an
existing builder specified by --name. Buildx will choose an appropriate node
for a build based on the platforms it supports.
$ docker buildx create mycontext1
eager_beaver
$ docker buildx create --name eager_beaver --append mycontext2
eager_beaver
Specify options for the buildkitd daemon (--buildkitd-flags)
--buildkitd-flags FLAGS
Adds flags when starting the buildkitd daemon. They take precedence over the
configuration file specified by --config. See buildkitd --help
for the available flags.
--buildkitd-flags '--debug --debugaddr 0.0.0.0:6666'
Specify a configuration file for the buildkitd daemon (--config)
--config FILE
Specifies the configuration file for the buildkitd daemon to use. The configuration
can be overridden by --buildkitd-flags.
See an example buildkitd configuration file.
Note that if you create a docker-container builder and have specified
certificates for registries in the buildkitd.toml configuration, the files
will be copied into the container under /etc/buildkit/certs and configuration
will be updated to reflect that.
Set the builder driver to use (--driver)
--driver DRIVER
Sets the builder driver to be used. There are two available drivers, each have their own specificities.
docker driver
Uses the builder that is built into the docker daemon. With this driver,
the --load flag is implied by default on
buildx build. However, building multi-platform images or exporting cache is
not currently supported.
docker-container driver
Uses a BuildKit container that will be spawned via docker. With this driver, both building multi-platform images and exporting cache are supported.
Unlike docker driver, built images will not automatically appear in
docker images and build --load needs to be used
to achieve that.
kubernetes driver
Uses a kubernetes pods. With this driver, you can spin up pods with defined BuildKit container image to build your images.
Unlike docker driver, built images will not automatically appear in
docker images and build --load needs to be used
to achieve that.
Set additional driver-specific options (--driver-opt)
--driver-opt OPTIONS
Passes additional driver-specific options. Details for each driver:
docker- No driver optionsdocker-containerimage=IMAGE- Sets the container image to be used for running buildkit.network=NETMODE- Sets the network mode for running the buildkit container.cgroup-parent=CGROUP- Sets the cgroup parent of the buildkit container if docker is using the “cgroupfs” driver. Defaults to/docker/buildx.
kubernetesimage=IMAGE- Sets the container image to be used for running buildkit.namespace=NS- Sets the Kubernetes namespace. Defaults to the current namespace.replicas=N- Sets the number ofPodreplicas. Defaults to 1.requests.cpu- Sets the request CPU value specified in units of Kubernetes CPU. Examplerequests.cpu=100m,requests.cpu=2requests.memory- Sets the request memory value specified in bytes or with a valid suffix. Examplerequests.memory=500Mi,requests.memory=4Glimits.cpu- Sets the limit CPU value specified in units of Kubernetes CPU. Examplelimits.cpu=100m,limits.cpu=2limits.memory- Sets the limit memory value specified in bytes or with a valid suffix. Examplelimits.memory=500Mi,limits.memory=4Gnodeselector="label1=value1,label2=value2"- Sets the kv ofPodnodeSelector. No Defaults. Examplenodeselector=kubernetes.io/arch=arm64rootless=(true|false)- Run the container as a non-root user withoutsecurityContext.privileged. Using Ubuntu host kernel is recommended. Defaults to false.loadbalance=(sticky|random)- Load-balancing strategy. If set to “sticky”, the pod is chosen using the hash of the context path. Defaults to “sticky”qemu.install=(true|false)- Install QEMU emulation for multi platforms support.qemu.image=IMAGE- Sets the QEMU emulation image. Defaults totonistiigi/binfmt:latest
Remove a node from a builder (--leave)
The --leave flag changes the action of the command to remove a node from a
builder. The builder needs to be specified with --name and node that is removed
is set with --node.
$ docker buildx create --name mybuilder --node mybuilder0 --leave
Specify the name of the builder (--name)
--name NAME
The --name flag specifies the name of the builder to be created or modified.
If none is specified, one will be automatically generated.
Specify the name of the node (--node)
--node NODE
The --node flag specifies the name of the node to be created or modified. If
none is specified, it is the name of the builder it belongs to, with an index
number suffix.
Set the platforms supported by the node (--platform)
--platform PLATFORMS
The --platform flag sets the platforms supported by the node. It expects a
comma-separated list of platforms of the form OS/architecture/variant. The node
will also automatically detect the platforms it supports, but manual values take
priority over the detected ones and can be used when multiple nodes support
building for the same platform.
$ docker buildx create --platform linux/amd64
$ docker buildx create --platform linux/arm64,linux/arm/v8
Automatically switch to the newly created builder (--use)
The --use flag automatically switches the current builder to the newly created
one. Equivalent to running docker buildx use $(docker buildx create ...).
上位コマンド
| コマンド | 説明 |
|---|---|
| docker buildx | Docker Buildx |
関連コマンド
| コマンド | 説明 |
| docker buildx bake | ファイルからビルドします。 |
| docker buildx build | ビルドを開始します。 |
| docker buildx create | 新規にビルダーインスタンスを生成します。 |
| docker buildx du | ディスク利用量。 |
| docker buildx imagetools | レジストリ上のイメージを操作するコマンドです。 |
| docker buildx inspect | 現在のビルダーインスタンスを確認します。 |
| docker buildx ls | ビルダーインスタンスを一覧表示します。 |
| docker buildx prune | ビルドキャッシュを削除します。 |
| docker buildx rm | ビルダーインスタンスを削除します。 |
| docker buildx stop | ビルダーインスタンスを停止します。 |
| docker buildx use | 現在のビルダーインスタンスを設定します。 |
| docker buildx version | Buildx のバージョンを表示します。 |