amazon-web-services – 从私有Docker存储库将映像部署到AWS Elastic Beanstalk

前端之家收集整理的这篇文章主要介绍了amazon-web-services – 从私有Docker存储库将映像部署到AWS Elastic Beanstalk前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试从其私有仓库中提取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__"
        }
    }
}

它们非常相似.因此,如果您的Docker版本生成新格式,只需删除auths行及其相应的大括号,您就可以了.

猜你在找的Docker相关文章