【问题标题】:aws ec2 docker container updateaws ec2 docker 容器更新
【发布时间】:2020-01-13 01:12:18
【问题描述】:

我在 AwS Marketplace 中有一个 AMI,它在里面运行一个 docker 容器。我想在实例第一次启动时更新一次 docker 容器。 当然,我可以 ssh 到实例并更新容器,但也许有更简单的方法。

谢谢

【问题讨论】:

  • systemctl with script.sh ?
  • rc 脚本? cloud-init?

标签: amazon-web-services docker amazon-ec2


【解决方案1】:

我想在实例运行时更新一次 docker 容器 第一次开机

如果您想更新 docker 镜像,那么您可以在实例启动期间将它们放入您的 user-data 中。

如果您想更新 ECS-agent,只需将其放入用户数据中即可。

docker pull amazon/amazon-ecs-agent:latest

或者如果您想从 ECR 更新图像,那么您需要运行它,但您的实例应该具有访问 ECR 的角色。

docker pull account_id.dkr.ecr.us-west-2.amazonaws.com/test:latest

您可以在

下找到用户数据部分

启动实例 -> 配置实例 -> 高级详细信息 -> 用户数据

如果您想更新以从某个私有仓库拉取图像,请在拉取图像之前添加登录命令,或者如果您已经拥有访问权限,则只需运行 docker pull image_name

更新:

如果您想将这些默认添加到您的 AMI 中,您可以使用 cloud.ini。

这是您可以查看的answerhere

【讨论】:

  • 谢谢,但我认为大多数用户会忘记在用户数据字段中粘贴 docker pull 命令,据我所知,您无法将其设置为默认值
  • 您在 AMI 中运行的操作系统是什么?
  • Ubuntu 服务器 16.04 LTS (HVM)
  • 好的,您可以在 crontab 中添加命令,该命令将在启动时运行,运行命令 crontab -e 然后添加 @reboot ( sleep 90 ; sh /home/ubuntu/init_script.sh) 您的 init_scipt.sh 将容器 docker pull image 或任何其他命令并重建 AMI .用 ubuntu 18 测试
  • @Kev 有一个有趣的答案,我以为你想更新但用户必须更新。所以最好使用 cloudini.it stackoverflow.com/questions/23411408/…
猜你喜欢
  • 2020-09-07
  • 2018-01-23
  • 2015-05-01
  • 2020-07-05
  • 1970-01-01
  • 1970-01-01
  • 2016-09-15
  • 2015-08-22
  • 1970-01-01
相关资源
最近更新 更多