1

在配置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,同时从默认注册表中提取?

4

1 回答 1

1

相应的文档可以在 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 凭证助手或此stackoverflow question

于 2019-12-02T16:33:18.077 回答