【发布时间】:2016-03-29 04:36:00
【问题描述】:
我正在试用 AWS ECR 并将新标签推送到我们的私有存储库。
它是这样的:
export DOCKER_REGISTRY=0123123123123.dkr.ecr.us-east-1.amazonaws.com
export TAG=0.1
docker build -t vendor/app-name .
`aws ecr get-login --region us-east-1`" # generates docker login
docker tag vendor/app-name $DOCKER_REGISTRY/vendor/app-name:$TAG
docker push $DOCKER_REGISTRY/vendor/app-name:$TAG
登录成功,标签已创建,我看到它带有docker images,但推送失败。
The push refers to a repository [0123123123123.dkr.ecr.us-east-1.amazonaws.com/vendor/app-name] (len: 2)
b1a1d76b9e52: Pushing [==================================================>] 32 B/32 B
Error parsing HTTP response: unexpected end of JSON input: ""
这很可能是配置错误,但我不知道如何从中获得更多输出。该命令没有调试级别选项,没有其他日志,而且我无法拦截网络流量,因为它似乎已加密。
【问题讨论】:
-
“vendor”或“app-name”中是否有特殊字符? (假设这些不是您使用的真实值)我会尝试一个没有连字符、下划线等的快速测试......
-
我选择了与我们匹配的那些泛型,vendor 是我们的公司名称(只有小写字母),app-name 两个单词之间有一个破折号。我刚刚尝试了供应商/应用程序名称,这是相同的场景
-
Travis 和本地也会发生这种情况
-
版本呢? ECR 使用注册表 v2,(我认为)它在 1.5 中被引入 docker。客户是否有可能是 1.4 岁或以上?
-
好主意,不幸的是:$ docker --version Docker 版本 1.8.1,构建 d12ea79
标签: amazon-web-services docker docker-toolbox amazon-ecs