Docker Push 后处理器
类型:docker-push
Packer Docker Push 后处理器从 docker-import
后处理器获取制品并将其推送到 Docker Registry。
配置
该后处理器所有参数均为可选:
aws_access_key
(string)- 用于与 AWS 通信的 AWS 访问密钥。了解如何设置。aws_secret_key
(string) - 用于与 AWS 通信的 AWS 密钥。了解如何设置。aws_token
(string)- 要使用的 AWS 访问令牌。这与aws_access_key
和aws_secret_key
不同。如果您不确定这是什么,那么您可能不需要它。也可以从AWS_SESSION_TOKEN
环境变量中读取。aws_profile
(string)- 用于与 AWS 通信的 AWS 共享凭证配置文件。了解如何设置。ecr_login
(bool) - 默认为false
。如果为true
,则后处理器将登录 ECR 以便将镜像推送到 Amazon EC2 容器注册表 (ECR)。后处理器仅在推送期间登录。如果为true
那么必须配置login_server
,且login
、login_username
和login_password
参数将被忽略。aws_force_use_public_ecr
(bool)- 默认为false
。如果为true
,后处理器将尝试强制将镜像推送到 ECR Public Gallery。但是,如果您在login_server
参数中已经指了定正确的 ECR Public URL,则此参数是可选的,后处理器将自动将自动将其认定为 ECR Public。keep_input_artifact
(boolean) - 如果为true
,则将 Docker 镜像推送到云端后不删除它。默认为true
,但如果不需要保存 Docker 镜像的本地副本,可以设置为false
。platform
(string) - 如果服务器支持多平台,则设置平台参数。login
(bool)- 默认为false
。如果为true
,则后处理器将在推送之前登录。登录 ECR 的信息请参阅ecr_login
。login_username
(string)- 用于验证登录的用户名。login_password
(string)- 用于验证登录的密码。login_server
(string) - 要登录的服务器地址。
注意:如果使用 Docker Hub 或是 Quay 作为镜像仓库,login
参数必须设置为 true
,且 login_username
和 login_password
必须设置为你使用的镜像仓库的凭证。当使用 Docker Hub 时,login_server
参数可以忽略。
注意:如果您使用上述凭据登录,后处理器随后会自动将您注销(仅指定的服务器)。
使用示例
Json:
{
"post-processors": [
[
{
"type": "docker-import",
"repository": "myrepo/myimage",
"tag": "0.7"
},
{
"type": "docker-push"
}
]
]
}
HCL2:
post-processors {
post-processor "docker-import" {
repository = "myrepo/myimage"
tag = "0.7"
}
post-processor "docker-push" {}
}