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

时间:2016-06-29 00:54:22

标签: docker docker-compose amazon-ecs

我使用docker-compose.yml来定义一组容器。并使用ecs-cli compose (service) upAWS上创建我的应用程序。

我知道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"

1 个答案:

答案 0 :(得分:0)

不确定您是否已解决此问题。这是docker-compose.yml的工作给我。

version: '2'
services:
  container1:
    volumes:
      - /var/ebsshare:/ebs
  container2:
    volumes_from:
      - container1:rw

请确保您的EBS源路径(/ var / ebsshare)具有必要的权限,以便Docker容器可以对其进行读写数据(chmod 755?)。

container2共享具有读取( rw )权限的container1中的卷。