docker buildx 创建
描述 | 创建新的生成器实例 |
---|---|
用法 | docker buildx create [OPTIONS] [CONTEXT|ENDPOINT] |
描述
Create 会创建一个指向 Docker 上下文或端点的新构建器实例,
其中 context 是上下文的名称 from,endpoint 是
Docker 套接字的地址(例如。 值)。docker context ls
DOCKER_HOST
默认情况下,当前的 Docker 配置用于确定 context/endpoint 值。
生成器实例是可以调用生成的隔离环境。都 Docker 上下文还会获取默认的生成器实例。
选项
选择 | 违约 | 描述 |
---|---|---|
--append | 将节点附加到生成器,而不是更改它 | |
--bootstrap | 创建后的引导生成器 | |
--buildkitd-config | BuildKit 守护进程配置文件 | |
--buildkitd-flags | BuildKit 守护进程标志 | |
--driver | 要使用的驱动程序(可用:、、docker-container kubernetes remote ) | |
--driver-opt | 驱动程序选项 | |
--leave | 从 builder 中删除节点,而不是更改它 | |
--name | Builder 实例名称 | |
--node | 创建/修改具有给定名称的节点 | |
--platform | 当前节点的固定平台 | |
--use | 设置当前生成器实例 |
例子
将新节点追加到现有生成器 (--append)
该标志更改命令的操作,以将新节点附加到
由 指定的现有生成器。Buildx 将选择合适的节点
对于基于它支持的平台的构建。--append
--name
$ docker buildx create mycontext1
eager_beaver
$ docker buildx create --name eager_beaver --append mycontext2
eager_beaver
指定 BuildKit 守护进程的配置文件 (--buildkitd-config)
--buildkitd-config FILE
指定 BuildKit 守护程序要使用的配置文件。这
配置可以被 --buildkitd-flags
覆盖。
请参阅 BuildKit 守护程序配置文件示例。
如果你没有指定配置文件,Buildx 默认在以下位置查找一个配置文件:
$BUILDX_CONFIG/buildkitd.default.toml
$DOCKER_CONFIG/buildx/buildkitd.default.toml
~/.docker/buildx/buildkitd.default.toml
请注意,如果您创建一个构建器并已指定
注册表的证书,文件
将被复制到 AND CONFIGURATION 下的容器中
将更新以反映这一点。docker-container
buildkitd.toml
/etc/buildkit/certs
指定 BuildKit 守护程序 (--buildkitd-flags) 的选项
--buildkitd-flags FLAGS
在启动 BuildKit 守护进程时添加标志。它们优先于
配置文件由 --buildkitd-config
指定。有关可用标志,请参阅 。buildkitd --help
--buildkitd-flags '--debug --debugaddr 0.0.0.0:6666'
BuildKit 守护进程网络模式
您可以使用
配置文件由 --buildkitd-config
在此处使用选项或标志指定。默认的
value 是 , , 可以是 , , :worker.oci.networkMode
--oci-worker-net
auto
bridge
cni
host
--buildkitd-flags '--oci-worker-net bridge'
注意
网络模式 “bridge” 从 BuildKit v0.13 开始支持,并将成为 default 在 next v0.14 中。
设置要使用的构建器驱动程序 (--driver)
--driver DRIVER
设置要使用的 builder 驱动程序。驱动程序是 BuildKit 的一种配置 backend 的Buildx 支持以下驱动程序:
docker
(默认)docker-container
kubernetes
remote
有关生成驱动程序的更多信息,请参阅此处。
Docker
驱动程序
使用 Docker 守护程序中内置的构建器。使用此驱动程序,
默认情况下,--load
标志隐含在 上。但是,构建多平台镜像或导出缓存是
当前不支持。buildx build
docker-container
驱动程序
使用将通过 Docker 生成的 BuildKit 容器。使用此驱动程序, 支持构建多平台镜像和导出缓存。
与 driver 不同,构建的镜像不会自动出现在 build 中,并且需要使用 build --load
以实现这一目标。docker
docker images
Kubernetes
驱动程序
使用 Kubernetes Pod。使用此驱动程序,您可以启动已定义的 Pod BuildKit 容器镜像来构建您的镜像。
与 driver 不同,构建的镜像不会自动出现在 build 中,并且需要使用 build --load
以实现这一目标。docker
docker images
远程
驱动程序
通过任意连接使用 BuildKit 守护程序的远程实例。跟 此驱动程序,您可以自己手动创建和管理 Buildkit 实例,以及 配置 buildX 以指向它。
与 driver 不同,构建的镜像不会自动出现在 build 中,并且需要使用 build --load
以实现这一目标。docker
docker images
设置其他特定于驱动程序的选项 (--driver-opt)
--driver-opt OPTIONS
传递其他特定于驱动程序的选项。 有关可用驱动程序选项的信息,请参阅详细的 特定驱动程序的文档:
从构建器中删除节点 (--leave)
该标志更改命令的操作,以从
建筑工人。需要使用已删除的 和 node 指定生成器
设置为 。--leave
--name
--node
$ docker buildx create --name mybuilder --node mybuilder0 --leave
指定生成器的名称 (--name)
--name NAME
该标志指定要创建或修改的生成器的名称。
如果未指定,将自动生成一个。--name
指定节点的名称 (--node)
--node NODE
该标志指定要创建或修改的节点的名称。如果
您不指定名称,节点名称默认为生成器的名称 it
属于,带有索引号后缀。--node
设置节点支持的平台 (--platform)
--platform PLATFORMS
该标志设置节点支持的平台。它期望
以逗号分隔的平台列表,格式为 OS/architecture/variant。节点
也会自动检测它支持的平台,但手动值采用
优先于检测到的 URL,并且可以在多个节点支持
为同一平台构建。--platform
$ docker buildx create --platform linux/amd64
$ docker buildx create --platform linux/arm64,linux/arm/v7
自动切换到新创建的生成器 (--use)
该标志会自动将当前构建器切换到新创建的
一。相当于运行 .--use
docker buildx use $(docker buildx create ...)