加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 03:38:04 所属栏目:安全 来源:网络整理
导读:我有一个node.js应用程序打包在一个公共存储库中托管的docker镜像中. 我已成功将该映像部署在AWS Beanstalk docker应用程序中. 问题是我期望在更新公共存储库中的映像时自动更新Beanstalk应用程序,如下面的配置所示. Dockerrun.aws.json: { "AWSEBDockerrun

我有一个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应用程序.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读