如何在从默认注册表中提取基础映像的同时使用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?

linyilun 回答:如何在从默认注册表中提取基础映像的同时使用fabric8 maven插件将Docker映像推送到AWS ECR?

可以在fabric8文档的fabric8 'Registry handling'章中找到相应的文档。有关设置(推和拉)注册表的所有选项,请参阅本手册。该答案将重点放在推送注册表设置上。

不是定义一个用于推送和拉取的注册表(在问题中已完成),而是有多个仅推送选项

第一个选项是使用 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>
...

当然,您需要用您的帐户ID替换“ your_aws_id”。

或作为第二个选项,您可以相应地设置docker.push.registry 系统属性

第三个选项将注册表添加为映像名称的一部分

对于身份验证,您可能需要检查AWS ECR credential helper或此stackoverflow question

本文链接:https://www.f2er.com/2991708.html

大家都在问