amazon-web-services - Docker Image 无法通过 Jenkins Pipeline 和 docker.withRegistry 推送到 ECR
问题描述
我在 aws 服务器上运行 jenkins 在构建 docker 映像的管道上工作并在同一个 aws 帐户上推送到 ECR
def aws_account = "https://xxxxxx.ecr.us-west-2.amazonaws.com/"
def ecr_credentials = "iam-role-arn for ecr"
docker.withRegistry(aws_account + "${ecr_repository_name}", "ecr:us-west-2:${ecr_credentials}") {
docker.image(customImage).push()
}
在推动时,我遇到了错误 tcp:lookup is pointing to the account number itself
错误: docker.service Mar 04 10:46:13 ip-x-xxx-x-xxx dockerd[921]: time="2021-03-04T10:46:13.989576275Z" level=error msg="Handler for POST / v1.41/auth 返回错误:获取https://yyyyyyy.ecr.us-west-2.amazonaws.com/v2/:拨号 tcp:查找 yyyyyyy.ecr.us-west-2.amazonaws.com:没有这样的主持人”
解决方案
名字错了
def aws_account = "https://xxxxxx.ecr.us-west-2.amazonaws.com/"
它应该是这样的
def aws_account = "https://1234567890.dkr.ecr.us-west-2.amazonaws.com"
def ecr_credentials = "iam-role-arn for ecr"
docker.withRegistry(aws_account + "${ecr_repository_name}", "ecr:us-west-2:${ecr_credentials}") {
docker.image(customImage).push()
}
推荐阅读
- amazon-web-services - 为现有 ECS 服务创建负载均衡器
- java - 使用 Java 中的模板在运行时生成函数
- r - 根据条件添加多列
- angular - Angular:如何插入从组件外部导入的变量?
- oracle - 使用 ORDER BY DECODE 后如何按字母顺序对数据进行排序?
- oracle - 我怎样才能让这个语法在 Oracle 中工作?
- ios - 限制服务器仅响应来自 iOS 应用程序的 HTTP 请求 - 没有用户名和密码
- reactjs - 为什么没有填充 Formik `touched` 属性?
- json - 需要帮助使用 Go 更新 JSON 有效负载
- c# - 在 c# 的自适应卡片中传递提交操作