amazon-web-services – AWS Beanstalk docker镜像自动更新不起作用

前端之家收集整理的这篇文章主要介绍了amazon-web-services – AWS Beanstalk docker镜像自动更新不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个node.js应用程序打包在一个公共存储库中托管的docker镜像中.

我已成功将该映像部署在AWS Beanstalk docker应用程序中.
问题是我期望在更新公共存储库中的映像时自动更新Beanstalk应用程序,如下面的配置所示.

Dockerrun.aws.json:

{
  "AWSEBDockerrunVersion": "1","Image": {
    "Name": "peveuve/dynamio-payment-service","Update": "true"
  },"Ports": [
    {
      "ContainerPort": "8000"
    }
  ],"Logging": "/var/log/dynamio"
}

Dockerfile非常简单:

FROM node:4.2.1-onbuild
# Environment variables
ENV NODE_ENV test
ENV PORT 8000
# expose application port outside
EXPOSE $PORT

亚马逊文档很清楚:

Optionally include the Update key. The default value is “true” and
instructs Elastic Beanstalk to check the repository,pull any updates
to the image,and overwrite any cached images.

但是我必须通过上传新版本的Dockerrun.aws.json描述符来手动更新Beanstalk应用程序.我错过了什么?它应该像那样工作吗?

文档应该更清楚.他们说的是update = true:

首次启动应用程序时,EBS会在停靠码程序运行之前执行docker pull.它不会继续轮询docker hub.

相比之下,在没有首先执行docker pull的情况下发出docker run将始终使用该机器的本地存储版本,这可能并不总是最新的.

为了实现你想要的,你需要设置一个webhook on Docker Hub,它调用你控制的应用程序,重建你的ELB应用程序.

猜你在找的Docker相关文章