ansible docker postgres 卷
ansible docker postgres volume
我正在使用 docker、aws 中的 ansible 和 terraform 进行一些 postgres 部署
一切进展顺利,我使用 terraform 启动实例,使用 ansible 为实例提供 docker,也使用 ansible 启动我的 postgres 容器,并将 ebs 卷附加到我的实例,这是我打算的用作主要数据存储。
但我很困惑如何将卷附加到 docker(不是实例,因为我可以使用 terraform 做到这一点)
我想可以使用 ansible 或修改 docker 文件,但是似乎是答案的“volume”的文档并不那么清楚对我来说。
所以如果我有这样一个 ansible 剧本:
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 卷的代码,以防有人感兴趣
请询问您需要的任何信息,非常感谢所有帮助
这是一个清单:
将 EBS 卷(磁盘)附加到 EC2 实例(例如 /dev/xvdh
)
创建分区(可选)(例如/dev/xvdh1
)
在 partition/disk
上创建文件系统
在您的 EC2 实例中挂载文件系统(例如 /opt/ebs_data
)
启动 Docker-具有体积的容器(例如 /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/data
我正在使用 docker、aws 中的 ansible 和 terraform 进行一些 postgres 部署
一切进展顺利,我使用 terraform 启动实例,使用 ansible 为实例提供 docker,也使用 ansible 启动我的 postgres 容器,并将 ebs 卷附加到我的实例,这是我打算的用作主要数据存储。
但我很困惑如何将卷附加到 docker(不是实例,因为我可以使用 terraform 做到这一点)
我想可以使用 ansible 或修改 docker 文件,但是似乎是答案的“volume”的文档并不那么清楚对我来说。
所以如果我有这样一个 ansible 剧本:
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 卷的代码,以防有人感兴趣
请询问您需要的任何信息,非常感谢所有帮助
这是一个清单:
将 EBS 卷(磁盘)附加到 EC2 实例(例如
/dev/xvdh
)创建分区(可选)(例如
/dev/xvdh1
)在 partition/disk
上创建文件系统
在您的 EC2 实例中挂载文件系统(例如
/opt/ebs_data
)启动 Docker-具有体积的容器(例如
/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/data