Amazon web services 从Bitbucket管道中从Amazon ECR提取图像
我正试图从Bitbucket管道中的私有Amazon docker存储库(ECR)中提取docker映像 我正在做以下工作:Amazon web services 从Bitbucket管道中从Amazon ECR提取图像,amazon-web-services,docker,bitbucket-pipelines,Amazon Web Services,Docker,Bitbucket Pipelines,我正试图从Bitbucket管道中的私有Amazon docker存储库(ECR)中提取docker映像 我正在做以下工作: script: - aws ecr get-login --registry-ids $AWS_ID --no-include-email --region $AWS_REGION - docker run -d -p 9092:9092 --name=kapi $AWS_ID.dkr.ecr.$AWS_REGION.amazonaws.
script:
- aws ecr get-login --registry-ids $AWS_ID --no-include-email --region $AWS_REGION
- docker run -d -p 9092:9092 --name=kapi $AWS_ID.dkr.ecr.$AWS_REGION.amazonaws.com/company/kapi:1.0
script:
- aws ecr get-login --registry-ids $AWS_ID --no-include-email --region $AWS_REGION
- docker run -d -p 9092:9092 --name=kapi $AWS_ID.dkr.ecr.$AWS_REGION.amazonaws.com/company/kapi:1.0
我在管道上看到的错误:
docker: Error response from daemon: Get https://$AWS_ID.dkr.ecr.$AWS_REGION.amazonaws.com/v2/company/kapi/manifests/1.0: no basic auth credentials.
错误似乎很明显:
no basic auth credentials
aws ecr get login返回要执行的命令以登录。我不知道你使用哪个平台,但是如果你使用的是linux
尝试执行AWS返回的命令:
$(aws ecr get-login --registry-ids $AWS_ID --no-include-email --region $AWS_REGION)
您应收到docker发送的消息,说明您已成功登录:
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Login Succeeded
调试
如果仍不工作,您仍然可以通过手动运行命令进行调试:
aws ecr get-login --registry-ids $AWS_ID --no-include-email --region $AWS_REGION
它应该返回如下内容:
docker login -u AWS -p ALongText https://ID.dkr.ecr.REGION.amazonaws.com
aws ecr get login
命令生成docker登录命令。除非您eval
it,否则它实际上不会让您登录到注册表。如果您的AWS\u访问\u ID
和AWS\u访问\u SECRET
正确无误,则此项操作应有效:
eval $(aws ecr get-login --registry-ids $AWS_ID --no-include-email --region $AWS_REGION)
您的脚本步骤应该如下所示: