从用户数据重新启动ecs-agent

我将EBS挂载到AWS中的ecs-enabled实例。

对于Docker来说EBS是可见的,docker守护进程必须重新启动。 我向用户数据添加了适当的命令。 但是我无法从用户数据重新启动ecs-agent docker容器。

以下是我的用户数据:

#!/bin/bash echo ECS_CLUSTER=MYCLUSTER>> /etc/ecs/ecs.config mkfs -t ext4 /dev/sdb mkdir /db/ mount /dev/sdb /db/ service docker stop service docker start docker start ecs-agent 

在SSH上,我可以看到ecs-agent容器已经创build,但没有运行。 当我手动启动容器时,它正在工作。 在实例启动期间启动它的正确方法是什么? 我的用户数据脚本中缺less什么?

我需要创build一个用于自动缩放组的启动configuration。 实例应该启用EBS并且对泊坞窗可见。

如果您需要重新启动Docker守护程序,您可能正在处理现有的EC2实例。 在这种情况下,用户数据脚本不会对您有所帮助,因为根据“ EC2用户指南”,它们“仅在启动实例的第一个引导周期内运行”。

至于在实例启动过程中启动ECS代理的正确方式,取决于您正在运行哪个发行版。 对于Amazon Linux实例, ECS开发人员指南build议使用ecs-init软件包:

 sudo yum install -y ecs-init sudo service docker start sudo start ecs 

(如果你把它放在你的用户数据脚本中,不要使用sudo 。)