【发布时间】:2017-04-01 00:13:57
【问题描述】:
我正在使用 ecs-cli 和一个 docker compose 文件和定义我的密钥对、VPC、子网、安全组、AMI 等的参数...
但是,在实例上运行的容器将需要访问我的 EFS。因此,当 ECS 启动了一个新的容器实例时,我希望它在启动容器之前将 EFS 挂载到实例/主机上的特定路径。我没有看到实现这一点的方法,有人知道如何获得这种行为吗?
【问题讨论】:
-
只是为了确保我正确地找到了您要查找的内容...您希望 ECS 服务也安装 EFS 驱动器吗?我不认为这是可能的。当您的 ECS 主机启动以挂载 EFS 驱动器时,您是否有某些原因不能在用户数据中使用脚本?如果您的路径是动态的,您还可以使用用户数据来部署某种应用,以便在需要时为您挂载 EFS。
-
是否可以将用户数据脚本与 ecs-cli 一起使用?如果是这样,那将解决问题
-
您不会在 ECS 级别使用它,而是在启动实例主机 EC2 时使用它。我认为 ecs-cli 只与 ECS 服务交互,而不是与底层实例主机交互,这听起来像是您需要映射 EFS 驱动器的地方。
-
哦,知道了。我尝试使用 ECS-CLI 的原因是因为我希望集群自动扩展,并且当添加新实例时,EFS 会自动挂载在它们上
-
我会通过运行一个用户数据脚本来解决这个问题: mkdir efs/ sudo mount -t nfs4 -o nfsvers=4.1
:/efs/ as part of用于自动缩放或在 CloudFormation 脚本中的 AMI。
标签: amazon-web-services docker docker-compose amazon-ecs