我正在努力通过AWS Build a Modern Web Application project,并在第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
我认为这将是一个简单的任务,但是我已经坚持了一段时间并且正在伸出援手。如果您需要更多信息,请告诉我。
答案 0 :(得分:1)
您收到此错误,是因为您用于存储库的名称muhammad.h.mughal
内有.
个句点。
您会注意到您所引用的主机是muhammad.h.mughal.dkr.ecr.us-east-1.amazonaws.com
,但证书适用于*.dkr.ecr.us-east-1.amazonaws.com
。在这种情况下,*
(ssl证书公用名)仅与一个域组件匹配。通过在命名中添加.
,您无意中创建了具有 3 域组件(muhammad
,h
和mughal
),则使ECR的SSL证书无效。
该解决方案虽然很严格,但很简单-删除存储库。该名称永远不会正确运行,现在是重新开始的时候了。