【问题标题】:How to update docker image in elastic--beanstalk instance如何在 elastic--beanstalk 实例中更新 docker 镜像
【发布时间】:2020-01-21 01:50:36
【问题描述】:

我正在使用 elastic-beanstalk 部署多个 docker 容器。我已将 travisCI 配置为监视代码存储库主分支的更改,重建 docker 映像,将新映像推送到 Docker 集线器,然后使用 elastic-beanstalk 重新部署。问题是 elastic-beanstalk 实例在重新部署后继续显示旧版本的图像。

我的 .travis.yml 文件:

sudo: required
services:
  - docker

cache: false

before_install:
  - docker build -t [image-tag-1] -f ./client/dev.Dockerfile ./client

script:
  - node ./testTest.js

after_success:
  - docker build -t [image-tag-1]-client ./client
  - docker build -t [image-tag-2]-nginx ./nginx
  - docker build -t [image-tag-3] ./server
  # Log into the docker CLI
  - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_ID" --password-stdin
  # Take those images and push them to docker hub
  - docker push [image-tag-1]
  - docker push [image-tag-2]
  - docker push [image-tag-3]

deploy:
  provider: elasticbeanstalk
  region: us-west-2
  app: xxxx-v7
  env: xxxxx-env
  bucket_name: elasticbeanstalk-us-west-2-xxxx
  bucket_path: docker-xxxx
  on:
    branch: master
  access_key_id:
    secure: $AWS_ACCESS_KEY
  secret_access_key:
    secure: $AWS_SECRET_KEY

将变更推送到master分支后,travis成功重建并推送镜像,elastic-beanstalk重新部署成功。但是 elastic-beanstalk 站点的内容显示,旧的 docker 镜像仍在使用中。如何让 elastic-beanstalk 在重新部署期间实际拉取新图像?

【问题讨论】:

标签: amazon-web-services docker deployment travis-ci amazon-elastic-beanstalk


【解决方案1】:

尝试在deploy 设置中指定label 变量。 label 是部署版本的唯一标识符。如果您继续使用相同的label,即使您构建并推送新版本,也会将相同的版本部署到 beanstalk。

进一步阅读:

【讨论】:

    猜你喜欢
    • 2021-04-05
    • 2015-07-04
    • 2021-08-25
    • 1970-01-01
    • 1970-01-01
    • 2015-08-03
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    相关资源
    最近更新 更多