这就是我想要做的。我有一个位于私有 ECR 存储库中的 docker 映像。这个 docker 镜像是基于一个基础 docker 镜像构建的,该镜像也位于不同的私有 ECR 存储库中。我已经能够在本地从基础镜像构建这个 docker 镜像,但是在管道中执行这个 docker 镜像的构建时,我收到以下错误:
+ docker build -t $DOCKER_IMAGE .
Sending build context to Docker daemon 2.793MB
Step 1/8 : FROM base/docker-image:latest
pull access denied for base/docker-image, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
由于我拥有的两个 docker 镜像都存储在单独的私有 ECR 存储库中,因此我不确定是否需要在我的 EKS 集群中集成一个秘密,以便该管道能够从基础 docker 镜像中提取回购。我已经在 docker 镜像中集成了一个秘密,允许拉取它。任何建议都会有所帮助。
答案 0 :(得分:0)
我认为您需要登录 ECR 才能从私有存储库中获取图像。尝试在 docker build 命令之前添加 login 命令 -
eval $(aws ecr get-login --no-include-email --region <aws_region>)
您还需要定义 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY 变量,以允许登录 ecr 并在管道中安装 awscli(如果您以前没有)。