docker - 运行代码构建时面临问题
问题描述
我正在尝试构建一个示例 java 项目并尝试构建一个 docker 映像并将该映像推送到 AWS ECR,但在登录 AWS ECR 时遇到问题。
错误:COMMAND_EXECUTION_ERROR:执行命令时出错:aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/z8i5y3u6。原因:退出状态1
我使用下面的 buildspec.yml 文件进行构建。不知道我在哪里做错了,请帮我解决这个问题。
版本:0.2
阶段:安装:运行时版本:java:corretto8 docker:18 pre_build:命令:- echo 登录到 Amazon ECR...- aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/z8i5wy3u build: commands: - echo Build started on date
- mvn package post_build: commands: - echo Building the Docker image... - docker build -t atlas2-非盟。- 码头工人标签 atlas2-au:latest public.ecr.aws/z8i5y3u6/atlas:latest - 码头工人推送 public.ecr.aws/z8i5y3u6/atlas2-au:latest
解决方案
根据我的说法,命令和 buildspec.yml 是正确的,您是否为 ECR 提供了适当的角色?
Amazon ECR 要求用户有权通过 IAM 策略调用 ecr:GetAuthorizationToken API,然后他们才能向注册表进行身份验证并从任何 Amazon ECR 存储库推送或拉取任何图像。Amazon ECR 提供了多个托管 IAM 策略来控制不同级别的用户访问;有关更多信息,请参阅 Amazon Elastic Container Registry 基于身份的策略 https://docs.aws.amazon.com/AmazonECR/latest/userguide/security_iam_id-based-policy-examples.html
推荐阅读
- python - 如何将 lambda 附加到 python 中的列表?
- ruby-on-rails - 在关联模型中通过多个参数查找记录的条件是什么?
- eclipse-che - 无法在 Eclipse che 中创建/导入项目
- java - 无法在 S3 中将文件从一个文件夹移动到另一个文件夹
- javascript - 滚动缩放
- azure-active-directory - 从 Azure AD Graph Education API 获取 Forbidden/Access Denied 错误
- hadoop - 设置 "fs.hdfs.impl.disable.cache" = true 与创建 hdfs 文件系统的新实例
- javascript - 从多组复选框中向数组添加和删除复选框值
- go - 返回的 interface{} 类型断言
- android - 在标头中发送令牌(不同的活动)