如何使用 fabric8 maven 插件将 docker 镜像推送到 AWS ECR,同时从默认注册表中提取基础镜像?



配置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 凭证帮助程序或此堆栈溢出问题。

相关内容

  • 没有找到相关文章

最新更新