docker buildx 创建
描述 | 创建新的生成器实例 |
---|---|
用法 | docker buildx create [OPTIONS] [CONTEXT|ENDPOINT] |
描述
Create 会创建一个指向 Docker 上下文或端点的新构建器实例,
其中 context 是 from 的上下文的名称docker context ls
而 endpoint 为
Docker 套接字的地址(例如。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)
这--append
flag 更改命令的作,以将新节点附加到
由--name
.Buildx 将选择合适的节点
对于基于它支持的平台的构建。
$ 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
请注意,如果您创建一个docker-container
builder 并指定了
注册表的证书buildkitd.toml
configuration、文件
将被复制到/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
使用worker.oci.networkMode
option 或--oci-worker-net
在此处标记。默认的
value 为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
flag 默认为buildx build
.但是,构建多平台镜像或导出缓存是
当前不支持。
docker-container
司机
使用将通过 Docker 生成的 BuildKit 容器。使用此驱动程序, 支持构建多平台镜像和导出缓存。
与docker
驱动程序中,构建的镜像不会自动显示在docker images
和build --load
需要使用
以实现这一目标。
kubernetes
司机
使用 Kubernetes Pod。使用此驱动程序,您可以启动已定义的 Pod BuildKit 容器镜像来构建您的镜像。
与docker
驱动程序中,构建的镜像不会自动显示在docker images
和build --load
需要使用
以实现这一目标。
remote
司机
通过任意连接使用 BuildKit 守护程序的远程实例。跟 此驱动程序,您可以自己手动创建和管理 Buildkit 实例,以及 配置 buildX 以指向它。
与docker
驱动程序中,构建的镜像不会自动显示在docker images
和build --load
需要使用
以实现这一目标。
设置其他特定于驱动程序的选项 (--driver-opt)
--driver-opt OPTIONS
传递其他特定于驱动程序的选项。 有关可用驱动程序选项的信息,请参阅详细的 特定驱动程序的文档:
从构建器中删除节点 (--leave)
这--leave
flag 更改命令的作,以从
建筑工人。构建器需要使用--name
和已删除的节点
设置为--node
.
$ docker buildx create --name mybuilder --node mybuilder0 --leave
指定生成器的名称 (--name)
--name NAME
这--name
flag 指定要创建或修改的生成器的名称。
如果未指定,将自动生成一个。
指定节点的名称 (--node)
--node NODE
这--node
flag 指定要创建或修改的节点的名称。如果
您不指定名称,节点名称默认为生成器的名称 it
属于,带有索引号后缀。
设置节点支持的平台 (--platform)
--platform PLATFORMS
这--platform
flag 设置节点支持的平台。它期望
以逗号分隔的平台列表,格式为 OS/architecture/variant。节点
也会自动检测它支持的平台,但手动值采用
优先于检测到的 URL,并且可以在多个节点支持
为同一平台构建。
$ docker buildx create --platform linux/amd64
$ docker buildx create --platform linux/arm64,linux/arm/v7
自动切换到新创建的生成器 (--use)
这--use
flag 会自动将当前构建器切换到新创建的
一。相当于运行docker buildx use $(docker buildx create ...)
.