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行及其相应的大括号,您就可以了.

相关文章

最近一直在开发Apworks框架的案例代码,同时也在一起修复Apw...
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText。...
在《Kubernetes中分布式存储Rook-Ceph部署快速演练》文章中,...
最近在项目中有涉及到Kubernetes的分布式存储部分的内容,也...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...