amazon-web-services - AWS 教程 - 将 Docker 映像推送到 AWS ECR 错误 x509
问题描述
我正在努力通过 AWS构建现代 Web 应用程序项目,并在模块 2B 第 1C 部分遇到了一个问题(令人困惑,但如果您转到链接会有意义)。
使用的命令:
$ docker push muhammad.h.mughal.dkr.ecr.us-east-1.amazonaws.com/mythicalmysfits/service:latest
我似乎无法推送我创建的 docker 映像。错误内容如下:
The push refers to repository [muhammad.h.mughal.dkr.ecr.us-east-1.amazonaws.com/mythicalmysfits/service]
Get https://muhammad.h.mughal.dkr.ecr.us-east-1.amazonaws.com/v2/: x509: certificate is valid for *.dkr.ecr.us-east-1.amazonaws.com, not muhammad.h.mughal.dkr.ecr.us-east-1.amazonaws.com
我认为这将是一项简单的任务,但是我已经坚持了一段时间并且正在伸出援手。如果您需要更多信息,请告诉我。
解决方案
您收到此错误是因为您用于存储库的名称中muhammad.h.mughal
包含.
句点。
您会注意到您所指的主机是,muhammad.h.mughal.dkr.ecr.us-east-1.amazonaws.com
但证书是用于*.dkr.ecr.us-east-1.amazonaws.com
. *
在这种情况下(ssl 证书通用名称)仅匹配一个域组件。通过在命名中添加 a .
,您无意中创建了一个包含3 个域组件(muhammad
、h
和mughal
)的域名,从而使 ECR 的 ssl 证书无效。
解决方案虽然很激烈,但很简单 - 删除 repo。该名称将永远无法正常工作,现在是重新开始的时候了。
推荐阅读
- json - JsonProvider 给了我无法统一的不同类型
- python - 列表相对于另一列的频率分布
- mysql - 如何在 codeigniter 中使用 OUTFILE
- javascript - 如何使用 Ajax 和 JQuery 实现下载按钮
- mobile-development - 手机中继器有 CID 和 LAC 吗?
- sql - SQL 中的有效日期验证
- python - 向 bash python pty(pty.openpty 和 subprocess.Popen)打开的进程发送信号
- dialogflow-es - Dialogflow V1 生成无效的actions.json?
- javascript - For 和 foreach 给出不同的结果
- php - PHP:如何创建一个好的 foreach 速记?