我想使用docker buildx build将Docker镜像导出到本地
如果想要像以前的docker build一样,使docker buildx build与之兼容,请使用以下选项:
$ docker buildx build --output=type=docker -t ユーザー名/イメージ名:タグ名
# 省略形
$ docker buildx build --load -t ユーザー名/イメージ名:タグ名
看起来可以搞定。
我遇到问题了,所以发表一下。
将单一平台构建的结果加载到docker images中(–load)。
指定构建结果的输出方法(-o,–output)
-o,–output=[路径,-,类型=类型[,键=值]
设置构建结果的输出处理。在使用docker build构建完成后,将创建容器镜像,并将其输出到docker images。而在buildx中可以设置这个步骤,以便将处理结果直接输出到客户端、oci镜像、tar包或者注册表等。
目前,Buildx的Docker驱动程序仅支持本地、tar球导出器和镜像导出器。docker-container驱动程序支持所有导出器。
Docker导出类型是将Docker映像规范作为映像导出到客户端上的特定平台。通过此导出工具创建的tar文件也是OCI兼容的。
目前,Docker不支持导出多平台镜像。最常见的多平台镜像使用方法是直接发送到注册表中(请参阅注册表)。
将构建单一平台的结果加载到docker镜像中(–load)
–output=type=docker的缩写形式。将构建的单一平台结果加载到docker镜像中。
使用CI/CD时,似乎可以通过docker buildx build –push来实现docker build ~docker push的一条命令。
$ docker buildx build --output=type=image,push=true -t ユーザー名/イメージ名:タグ名
# 省略形
$ docker buildx build --output=type=registory -t ユーザー名/イメージ名:タグ名
# さらに省略形
$ docker buildx build --push -t ユーザー名/イメージ名:タグ名
将构建结果发送到注册表(–push)
注册表
注册表”registry”的缩写是”type=image, push=true”。
将构建结果发送到注册表(–push)
–output=type=registry 的简写形式。自动将构建结果发送到注册表。