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

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

我正在尝试从其私有仓库中提取Docker镜像,并在Zip包装的Dockerrun.aws.json的帮助下将其部署在AWS Elastic Beanstalk上.它的内容

  1. {
  2. "AWSEBDockerrunVersion": "1","Authentication": {
  3. "Bucket": "my-bucket","Key": "docker/.dockercfg"
  4. },"Image": {
  5. "Name": "namespace/repo:tag","Update": "true"
  6. },"Ports": [
  7. {
  8. "ContainerPort": "8080"
  9. }
  10. ]
  11. }

其中“my-bucket”是我在s3上的桶名,它使用与我的BS环境相同的位置.在密钥中设置的配置是结果

  1. $docker login

在docker2boot应用程序的终端中调用.然后将其复制到“my-bucket”中的文件夹“docker”.图像确实存在.
之后我将带有dockerrun文件的.zip上传到EB,然后部署我得到

  1. Activity execution Failed,because: WARNING: Invalid auth configuration file

我错过了什么?
提前致谢

最佳答案
Docker已将配置文件路径从〜/ .dockercfg更新为〜/ .docker / config.json.他们还利用这个机会对配置文件格式进行了重大更改.

但是,AWS仍然需要前一种格式,即〜/ .dockercfg(see the file name in their documentation)中使用的格式:

  1. {
  2. "https://index.docker.io/v1/": {
  3. "auth": "__auth__","email": "__email__"
  4. }
  5. }

这与〜/ .docker / config.json中使用的新格式不兼容:

  1. {
  2. "auths": {
  3. "https://index.docker.io/v1/": {
  4. "auth": "__auth__","email": "__email__"
  5. }
  6. }
  7. }

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

猜你在找的Docker相关文章