Skip to content

Instantly share code, notes, and snippets.

@ali-master
Forked from hexfusion/docker-compose
Created April 5, 2024 20:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ali-master/60de1e4b001997debacaedf1c3ce72d6 to your computer and use it in GitHub Desktop.
Save ali-master/60de1e4b001997debacaedf1c3ce72d6 to your computer and use it in GitHub Desktop.
etcd cluster v3 docker-compose example
version: '2'
services:
etcd-1:
image: gcr.io/etcd-development/etcd:v3.3.9
restart: always
ports:
- 2379
- 2380
volumes:
- ./certs/:/srv/
networks:
etcd_net:
ipv4_address: 172.16.21.41
environment:
ETCD_NAME: etcd-1
ETCDCTL_API: 3
ETCD_DEBUG: 1
ETCD_INITIAL_ADVERTISE_PEER_URLS: https://172.16.21.41:2380
ETCD_INITIAL_CLUSTER: etcd-3=https://172.16.21.43:2380,etcd-2=https://172.16.21.42:2380,etcd-1=https://172.16.21.41:2380
ETCD_INITIAL_CLUSTER_STATE: new
ETCD_INITIAL_CLUSTER_TOKEN: etcd-ftw
ETCD_LISTEN_CLIENT_URLS: https://172.16.21.41:2379
ETCD_LISTEN_PEER_URLS: https://172.16.21.41:2380
ETCD_ADVERTISE_CLIENT_URLS: https://172.16.21.41:2379,https://127.0.0.1:2379
ETCD_CERT_FILE: /srv/server.pem
ETCD_KEY_FILE: /srv/server-key.pem
ETCD_PEER_TRUSTED_CA_FILE: /srv/ca.pem
ETCD_PEER_CERT_FILE: /srv/peer.pem
ETCD_PEER_KEY_FILE: /srv/peer-key.pem
ETCD_PEER_CLIENT_CERT_AUTH: 1
etcd-2:
image: gcr.io/etcd-development/etcd:v3.3.9
restart: always
ports:
- 2379
- 2380
volumes:
- ./certs/:/srv/
networks:
etcd_net:
ipv4_address: 172.16.21.42
environment:
ETCD_NAME: etcd-2
ETCDCTL_API: 3
ETCD_DEBUG: 1
ETCD_INITIAL_ADVERTISE_PEER_URLS: https://172.16.21.42:2380
ETCD_INITIAL_CLUSTER: etcd-3=https://172.16.21.43:2380,etcd-2=https://172.16.21.42:2380,etcd-1=https://172.16.21.41:2380
ETCD_INITIAL_CLUSTER_STATE: new
ETCD_INITIAL_CLUSTER_TOKEN: etcd-ftw
ETCD_LISTEN_CLIENT_URLS: https://172.16.21.42:2379
ETCD_LISTEN_PEER_URLS: https://172.16.21.42:2380
ETCD_ADVERTISE_CLIENT_URLS: https://172.16.21.42:2379,https://127.0.0.1:2379
ETCD_CERT_FILE: /srv/server.pem
ETCD_KEY_FILE: /srv/server-key.pem
ETCD_PEER_TRUSTED_CA_FILE: /srv/ca.pem
ETCD_PEER_CERT_FILE: /srv/peer.pem
ETCD_PEER_KEY_FILE: /srv/peer-key.pem
ETCD_PEER_CLIENT_CERT_AUTH: 1
etcd-3:
image: gcr.io/etcd-development/etcd:v3.3.9
restart: always
ports:
- 2379
- 2380
volumes:
- ./certs/:/srv/
networks:
etcd_net:
ipv4_address: 172.16.21.43
environment:
ETCD_NAME: etcd-3
ETCDCTL_API: 3
ETCD_DEBUG: 1
ETCD_INITIAL_ADVERTISE_PEER_URLS: https://172.16.21.43:2380
ETCD_INITIAL_CLUSTER: etcd-3=https://172.16.21.43:2380,etcd-2=https://172.16.21.42:2380,etcd-1=https://172.16.21.41:2380
ETCD_INITIAL_CLUSTER_STATE: new
ETCD_INITIAL_CLUSTER_TOKEN: etcd-ftw
ETCD_LISTEN_CLIENT_URLS: https://172.16.21.43:2379
ETCD_LISTEN_PEER_URLS: https://172.16.21.43:2380
ETCD_ADVERTISE_CLIENT_URLS: https://172.16.21.43:2379,https://127.0.0.1:2379
ETCD_CERT_FILE: /srv/server.pem
ETCD_KEY_FILE: /srv/server-key.pem
ETCD_PEER_TRUSTED_CA_FILE: /srv/ca.pem
ETCD_PEER_CERT_FILE: /srv/peer.pem
ETCD_PEER_KEY_FILE: /srv/peer-key.pem
ETCD_PEER_CLIENT_CERT_AUTH: 1
networks:
etcd_net:
driver: bridge
driver_opts:
com.docker.network.enable_ipv6: "false"
ipam:
driver: default
config:
- subnet: 172.16.21.0/24
gateway: 172.16.21.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment