我正在做一些postgres部署,在aws中使用docker、ansible和terraform
事情进行得相当顺利,我用terraform启动实例,使用ansible为实例提供对接器,用ansible启动postgres容器,并将ebs卷附加到我的实例中,我打算使用它作为主要的数据存储。
但是,对于如何将音量附加到码头(而不是实例,因为我可以使用terraform),我感到困惑。
我认为使用ansible或修改dockerfile是可能的,但是“卷”的文档(这似乎是答案)在我看来还不太清楚。
所以如果我有一本这样的游戏手册:
name: Start postgis
docker_container:
name: postgis
image: "{{ ecr_url }}"
network_mode: bridge
exposed_ports:
5432
published_ports:
5432:5432
state: started如何指定用于Postgres数据存储的ebs卷?
resource "aws_volume_attachment" "ebs-volume-postgis-attach" {
device_name = "/dev/xvdh"
volume_id = "${aws_ebs_volume.ebs-volume-postgis.id}"
instance_id = "${aws_instance.postgis.id}"
}这是用来附加ebs卷的代码,以防有人感兴趣。
请询问你所需要的任何信息,所有的帮助都会得到深深的认可。
发布于 2017-09-19 06:17:34
以下是一份清单:
/dev/xvdh)/dev/xvdh1)/opt/ebs_data)/opt/ebs_data:/var/lib/postgresql/data)在Ansible的docker_container模块中,volumes是一个列表,因此:
- docker_container:
name: postgis
image: "{{ ecr_url }}"
network_mode: bridge
exposed_ports:
- 5432
published_ports:
- 5432:5432
state: started
volumes:
- /opt/ebs_data:/var/lib/postgresql/datahttps://stackoverflow.com/questions/46287185
复制相似问题