我使用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"
答案 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中的卷。