docker buildx创建
描述
创建一个新的构建器实例
用法
$ docker buildx create [OPTIONS] [CONTEXT|ENDPOINT]
扩展说明
Create创建一个新的构建器实例,该实例指向Docker上下文或端点,其中context是上下文的名称,docker context ls
端点是Docker套接字的地址(例如,DOCKER_HOST
值)。
默认情况下,当前Docker配置用于确定上下文/端点值。
构建器实例是可以调用构建的隔离环境。所有Docker上下文还获得默认的构建器实例。
有关此命令的示例用法,请参阅下面的示例部分。
选项
名称,简写 | 默认 | 描述 |
--append |
将节点附加到构建器,而不是对其进行更改 | |
--buildkitd-flags |
buildkitd守护程序的标志 | |
--config |
BuildKit配置文件 | |
--driver |
要使用的驱动程序(可用:[]) | |
--driver-opt |
驱动程序选项 | |
--leave |
从构建器中删除节点,而不是对其进行更改 | |
--name |
生成器实例名称 | |
--node |
使用给定名称创建/修改节点 | |
--platform |
当前节点的固定平台 | |
--use |
设置当前的构建器实例 | |
--builder |
覆盖已配置的构建器实例 |
例子
将新节点附加到现有构建器(--append)
该--append
标志更改命令的操作,以将新节点附加到所指定的现有构建器上--name
。Buildx将基于其支持的平台为构建选择合适的节点。
例子
$ docker buildx create mycontext1
eager_beaver
$ docker buildx create --name eager_beaver --append mycontext2
eager_beaver
指定buildkitd守护程序的选项(--buildkitd-flags)
--buildkitd-flags FLAGS
启动buildkitd守护程序时添加标志。它们优先于所指定的配置文件--config
。请参阅buildkitd --help
以获取可用的标志。
例子
--buildkitd-flags '--debug --debugaddr 0.0.0.0:6666'
指定buildkitd守护程序的配置文件(--config)
--config FILE
指定要使用的buildkitd守护程序的配置文件。该配置可以被覆盖--buildkitd-flags
。请参阅示例buildkitd配置文件。
设置要使用的构建器驱动程序(--driver)
--driver DRIVER
设置要使用的构建器驱动程序。有两种可用的驱动程序,每种都有各自的特性。
docker
-使用内置在docker守护进程中的构建器。使用此驱动程序时,--load
默认情况下将标志隐含在上buildx build
。但是,当前不支持构建多平台图像或导出缓存。docker-container
-使用将通过docker生成的buildkit容器。使用此驱动程序,既支持构建多平台图像,又支持导出缓存。但是,生成的图像不会自动出现在中docker images
(请参阅参考资料build --load
)。kubernetes
-使用kubernetes吊舱。使用此驱动程序,您可以使用定义的buildkit容器映像启动pod来构建映像。
设置其他特定于驱动程序的选项(--driver-opt)
--driver-opt OPTIONS
传递其他特定于驱动程序的选项。每个驱动程序的详细信息:
docker
-没有驱动程序选项docker-container
image=IMAGE
-设置用于运行buildkit的容器映像。network=NETMODE
-设置用于运行buildkit容器的网络模式。-
例子:
--driver docker-container --driver-opt image=moby/buildkit:master,network=host
kubernetes
image=IMAGE
-设置用于运行buildkit的容器映像。namespace=NS
-设置Kubernetes命名空间。默认为当前名称空间。replicas=N
-设置Pod
副本数。默认为1。nodeselector="label1=value1,label2=value2"
-设置Pod
nodeSelector的kv 。没有默认值。例子nodeselector=kubernetes.io/arch=arm64
rootless=(true|false)
-以非root用户身份运行容器,不使用securityContext.privileged
。建议使用Ubuntu主机内核。默认为false。loadbalance=(sticky|random)
-负载平衡策略。如果设置为“ sticky”,则使用上下文路径的哈希值来选择容器。默认为“粘性”
从构建器中删除节点(-离开)
该--leave
标志更改命令的操作,以从构建器中删除节点。需要使用来指定构建器,--name
并使用来设置要删除的节点--node
。
例子
$ docker buildx create --name mybuilder --node mybuilder0 --leave
指定构建器的名称(--name)
--name NAME
该--name
标志指定要创建或修改的构建器的名称。如果未指定,则将自动生成一个。
指定节点的名称(--node)
--node NODE
该--node
标志指定要创建或修改的节点的名称。如果未指定,则为它所属的构建器的名称,后缀为索引号。
设置节点支持的平台
--platform PLATFORMS
该--platform
标志设置节点支持的平台。它期望以逗号分隔的OS /体系结构/变体形式的平台列表。该节点还将自动检测其支持的平台,但是手动值的优先级高于检测到的值,并且当多个节点支持针对同一平台的构建时,可以使用手动值。
例子
$ docker buildx create --platform linux/amd64
$ docker buildx create --platform linux/arm64,linux/arm/v8
自动切换到新创建的构建器
该--use
标志自动将当前构建器切换到新创建的构建器。相当于跑步docker buildx use $(docker buildx create ...)
。
上级命令
命令 | 描述 |
---|---|
docker buildx | 使用BuildKit进行构建 |
相关命令
命令 | 描述 |
docker buildx烘烤 | 从文件构建 |
docker buildx构建 | 开始构建 |
docker buildx创建 | 创建一个新的构建器实例 |
docker buildx du | 磁盘使用情况 |
docker buildx imagetools | 在注册表中处理图像的命令 |
docker buildx检查 | 检查当前的构建器实例 |
docker buildx ls | 列出构建器实例 |
docker buildx修剪 | 删除构建缓存 |
docker buildx rm | 删除构建器实例 |
docker buildx停止 | 停止构建器实例 |
docker buildx使用 | 设置当前的构建器实例 |
docker buildx版本 | 显示buildx版本信息 |