如何使用docker-compose.yml和ecs-cli将EBS卷附加到我的容器

use*_*104 5 amazon-ecs docker docker-compose

docker-compose.yml用来定义一组容器.并用于ecs-cli compose (service) up创建我的应用程序AWS.

我知道在创建容器时自动AWS ECS带有100GB EBS.(即使EC2承载容器的实例只有8GB的硬盘驱动器.)我希望有一个持久存储,这样即使我更新了我的容器,它仍然可以指向相同的100GB EBS.我很确定我可以做到以下几点来实现这个目标:

将外部附加EBS到EC2实例,并使用volume撰写文件将该卷附加到容器.

但是,我觉得在ECS上可能有更好的方法,因为它会自动为您提供100GB的ELB.也就是说,如果我使用上述方法,那么我真的在"浪费"每个容器附带的100GB卷.那么,实现这一目标的最佳方法是什么.你能以下面的docker-compose.yml格式给出答案吗?

container1:
  image: image1

container2:
  image: image2
  links:
    - "container1"
Run Code Online (Sandbox Code Playgroud)

Imr*_*ran 0

不确定您是否已经解决了这个问题。这是docker-compose.yml为我工作的。

version: '2'
services:
  container1:
    volumes:
      - /var/ebsshare:/ebs
  container2:
    volumes_from:
      - container1:rw
Run Code Online (Sandbox Code Playgroud)

请确保您的 EBS 源路径(/var/ebsshare)具有必要的权限,以便 docker 容器可以读取和写入数据(chmod 755?)。

容器 2 与容器 1 共享卷并具有读写 ( rw ) 权限。