我试图从其私有仓库中提取Docker镜像,并在Zip包装的Dockerrun.aws.json的帮助下将其部署在AWS Elastic Beanstalk上。它的内容是
{
"AWSEBDockerrunVersion": "1",
"Authentication": {
"Bucket": "my-bucket",
"Key": "docker/.dockercfg"
},
"Image": {
"Name": "namespace/repo:tag",
"Update": "true"
},
"Ports": [
{
"ContainerPort": "8080"
}
]
}
在哪里" my-bucket"是我在s3上的存储桶名称,它使用与我的BS环境相同的位置。在密钥中设置的配置是
的结果$ docker login
在docker2boot app终端中调用。然后将其复制到文件夹" docker" in" my-bucket"。图像确实存在。 之后我将带有dockerrun文件的.zip上传到EB,在部署时我得到
Activity execution failed, because: WARNING: Invalid auth configuration file
我错过了什么? 提前致谢
答案 0 :(得分:13)
Docker已将配置文件路径从~/.dockercfg
更新为~/.docker/config.json
。他们还利用这个机会对配置文件格式进行了重大更改。
~/.dockercfg
(see the file name in their documentation)中使用的格式:
{
"https://index.docker.io/v1/": {
"auth": "__auth__",
"email": "__email__"
}
}
与~/.docker/config.json
中使用的新格式不兼容:
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "__auth__",
"email": "__email__"
}
}
}
他们非常相似。因此,如果您的Docker版本生成新格式,只需删除auths
行及其相应的大括号,您就可以了。