mirror of
https://github.com/outbackdingo/patroni.git
synced 2026-01-27 10:20:10 +00:00
1. Multi-stage build with an extensive cleanup of useless files and optional image compression 2. Start three-node etcd cluster 3. Start three-node Patroni cluster 4. One container with haproxy 5. All container names are prefixed with "demo-" and don't have suffixes 6. Decommission dev_patroni_cluster.sh script, docker-compose is now standard de-facto. 7. Provide more examples in the docker/README.md
69 lines
1.7 KiB
YAML
69 lines
1.7 KiB
YAML
# docker compose file for running a 3-node PostgreSQL cluster
|
|
# with 3-node etcd cluster as the DCS and one haproxy node
|
|
version: "2"
|
|
|
|
networks:
|
|
demo:
|
|
|
|
services:
|
|
etcd1:
|
|
image: patroni
|
|
networks: [ demo ]
|
|
env_file: docker/etcd.env
|
|
container_name: demo-etcd1
|
|
hostname: etcd1
|
|
command: etcd -name etcd1 -initial-advertise-peer-urls http://etcd1:2380
|
|
|
|
etcd2:
|
|
image: patroni
|
|
networks: [ demo ]
|
|
env_file: docker/etcd.env
|
|
container_name: demo-etcd2
|
|
hostname: etcd2
|
|
command: etcd -name etcd2 -initial-advertise-peer-urls http://etcd2:2380
|
|
|
|
etcd3:
|
|
image: patroni
|
|
networks: [ demo ]
|
|
env_file: docker/etcd.env
|
|
container_name: demo-etcd3
|
|
hostname: etcd3
|
|
command: etcd -name etcd3 -initial-advertise-peer-urls http://etcd3:2380
|
|
|
|
patroni1:
|
|
image: patroni
|
|
networks: [ demo ]
|
|
env_file: docker/patroni.env
|
|
hostname: patroni1
|
|
container_name: demo-patroni1
|
|
environment:
|
|
PATRONI_NAME: patroni1
|
|
|
|
patroni2:
|
|
image: patroni
|
|
networks: [ demo ]
|
|
env_file: docker/patroni.env
|
|
hostname: patroni2
|
|
container_name: demo-patroni2
|
|
environment:
|
|
PATRONI_NAME: patroni2
|
|
|
|
patroni3:
|
|
image: patroni
|
|
networks: [ demo ]
|
|
env_file: docker/patroni.env
|
|
hostname: patroni3
|
|
container_name: demo-patroni3
|
|
environment:
|
|
PATRONI_NAME: patroni3
|
|
|
|
haproxy:
|
|
image: patroni
|
|
networks: [ demo ]
|
|
env_file: docker/patroni.env
|
|
container_name: demo-haproxy
|
|
ports:
|
|
- "5000:5000"
|
|
- "5001:5001"
|
|
command: haproxy
|