我正在尝试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
Run Code Online (Sandbox Code Playgroud)
登录工作,标签被创建,我看到它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: ""
Run Code Online (Sandbox Code Playgroud)
这很可能是一个配置错误,但我无法弄清楚如何从中获得更多的输出.该命令没有调试级别选项,没有其他日志,我无法拦截网络流量,因为它似乎是加密的.
我正试图docker login
从~/.docker/config.json
文件中获取身份验证.但我auth
在config.json
文件中看不到令牌.这是我的泊坞版.
docker version
Client:
Version: 17.03.1-ce
API version: 1.27
Go version: go1.7.5
Git commit: c6d412e
Built: Tue Mar 28 00:40:02 2017
OS/Arch: darwin/amd64
Server:
Version: 17.03.1-ce
API version: 1.27 (minimum version 1.12)
Go version: go1.7.5
Git commit: c6d412e
Built: Fri Mar 24 00:00:50 2017
OS/Arch: linux/amd64
Experimental: true
Run Code Online (Sandbox Code Playgroud)
当我跑步时cat ~/.docker/config.json
,我能看到的是
cat .docker/config.json
{
"auths": {
"https://index.docker.io/v1/": {}
},
"credsStore": "osxkeychain"
}%
Run Code Online (Sandbox Code Playgroud)
根据Codeship 文档,我应该看看
{
"auths": {
"https://index.docker.io/v1/": { …
Run Code Online (Sandbox Code Playgroud)