配置fabric8 maven 插件以将 docker 镜像推送到 AWS ECR时,我们收到一个错误,指出无法拉取"alpine:latest"镜像。
以下是来自maven pom的相关部分:
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<configuration>
<registry>your_aws_id.dkr.ecr.eu-central-1.amazonaws.com</registry>
<images>
<image>
<name>%a:%v-%t</name>
<build>
<from>alpine:latest</from>
<maintainer>a_company_or_person</maintainer>
...
</build>
</image>
</images>
</configuration>
</plugin>
是否可以配置 maven fabric8 插件以在从默认注册表拉取时将 docker 映像推送到 AWS ECR?
相应的文档可以在 fabric8 文档的 fabric8 "注册表处理"一章中找到。有关设置(推拉(注册表的所有选项,请参阅本手册。此答案将侧重于推送注册表设置。
而不是定义一个用于推送和拉取的注册表(如问题中所做的那样(,有多个仅推送选项:
第一个选项是使用fabric8 "pushRegistry" 配置参数来指定 AWS ECR 注册表:
...
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
...
<configuration>
...
<pushRegistry>your_aws_id.dkr.ecr.eu-central-1.amazonaws.com</pushRegistry>
...
</configuration>
</plugin>
...
当然,您需要将"your_aws_id"替换为您的帐户ID。
或者作为第二个选项,您可以相应地设置docker.push.registry
系统属性。
第三个选项是将注册表添加为映像名称的一部分。
对于身份验证,您可能需要检查 AWS ECR 凭证帮助程序或此堆栈溢出问题。