微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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应用程序.

原文地址:https://www.jb51.cc/docker/436858.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐