我正在尝试从其私有仓库中提取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应用程序的终端中调用.然后将其复制到“my-bucket”中的文件夹“docker”.图像确实存在.
之后我将带有dockerrun文件的.zip上传到EB,然后部署我得到
Activity execution Failed,because: WARNING: Invalid auth configuration file
我错过了什么?
提前致谢
最佳答案
Docker已将配置文件路径从〜/ .dockercfg更新为〜/ .docker / config.json.他们还利用这个机会对配置文件格式进行了重大更改.
但是,AWS仍然需要前一种格式,即〜/ .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__"
}
}
}