|
| 1 | +version: '2' |
| 2 | +services: |
| 3 | + |
| 4 | + etcd-1: |
| 5 | + image: gcr.io/etcd-development/etcd:v3.3.12 |
| 6 | + restart: always |
| 7 | + ports: |
| 8 | + - 2379 |
| 9 | + - 2380 |
| 10 | + volumes: |
| 11 | + #This will makes sure that etcd-1 data directories are on the host for debugging |
| 12 | + - ./data1/:/var/lib/etcd/ |
| 13 | + - ./certs/:/etc/ssl/certs/ |
| 14 | + networks: |
| 15 | + etcd_dev: |
| 16 | + ipv4_address: 172.30.66.10 |
| 17 | + environment: |
| 18 | + ETCD_NAME: etcd-1 |
| 19 | + ETCDCTL_API: 3 |
| 20 | + ETCD_DEBUG: 1 |
| 21 | + ETCD_DATA_DIR: /var/lib/etcd |
| 22 | + ETCD_INITIAL_ADVERTISE_PEER_URLS: http://etcd-1:2380 |
| 23 | + ETCD_INITIAL_CLUSTER: etcd-1=http://etcd-1:2380,etcd-2=http://etcd-2:2380,etcd-3=http://etcd-3:2380 |
| 24 | + ETCD_INITIAL_CLUSTER_STATE: new |
| 25 | + ETCD_INITIAL_CLUSTER_TOKEN: etcd-ftw |
| 26 | + ETCD_LISTEN_CLIENT_URLS: http://0.0.0.0:2379 |
| 27 | + ETCD_LISTEN_PEER_URLS: http://0.0.0.0:2380 |
| 28 | + ETCD_ADVERTISE_CLIENT_URLS: http://etcd-1:2379,http://127.0.0.1:2379 |
| 29 | + etcd-2: |
| 30 | + image: gcr.io/etcd-development/etcd:v3.3.12 |
| 31 | + restart: always |
| 32 | + ports: |
| 33 | + - 2379 |
| 34 | + - 2380 |
| 35 | + volumes: |
| 36 | + - ./certs/:/etc/ssl/certs/ |
| 37 | + networks: |
| 38 | + etcd_dev: |
| 39 | + ipv4_address: 172.30.66.11 |
| 40 | + environment: |
| 41 | + ETCD_NAME: etcd-2 |
| 42 | + ETCDCTL_API: 3 |
| 43 | + ETCD_DEBUG: 1 |
| 44 | + ETCD_DATA_DIR: /var/lib/etcd |
| 45 | + ETCD_INITIAL_ADVERTISE_PEER_URLS: http://etcd-2:2380 |
| 46 | + ETCD_INITIAL_CLUSTER: etcd-1=http://etcd-1:2380,etcd-2=http://etcd-2:2380,etcd-3=http://etcd-3:2380 |
| 47 | + ETCD_INITIAL_CLUSTER_STATE: new |
| 48 | + ETCD_INITIAL_CLUSTER_TOKEN: etcd-ftw |
| 49 | + ETCD_LISTEN_CLIENT_URLS: http://0.0.0.0:2379 |
| 50 | + ETCD_LISTEN_PEER_URLS: http://0.0.0.0:2380 |
| 51 | + ETCD_ADVERTISE_CLIENT_URLS: http://etcd-2:2379,http://127.0.0.1:2379 |
| 52 | + etcd-3: |
| 53 | + image: gcr.io/etcd-development/etcd:v3.3.12 |
| 54 | + restart: always |
| 55 | + ports: |
| 56 | + - 2379 |
| 57 | + - 2380 |
| 58 | + volumes: |
| 59 | + - ./certs/:/etc/ssl/certs/ |
| 60 | + networks: |
| 61 | + etcd_dev: |
| 62 | + ipv4_address: 172.30.66.12 |
| 63 | + environment: |
| 64 | + ETCD_NAME: etcd-3 |
| 65 | + ETCDCTL_API: 3 |
| 66 | + ETCD_DEBUG: 1 |
| 67 | + ETCD_DATA_DIR: /var/lib/etcd |
| 68 | + ETCD_INITIAL_ADVERTISE_PEER_URLS: http://etcd-3:2380 |
| 69 | + ETCD_INITIAL_CLUSTER: etcd-1=http://etcd-1:2380,etcd-2=http://etcd-2:2380,etcd-3=http://etcd-3:2380 |
| 70 | + ETCD_INITIAL_CLUSTER_STATE: existing |
| 71 | + ETCD_INITIAL_CLUSTER_TOKEN: etcd-ftw |
| 72 | + ETCD_LISTEN_CLIENT_URLS: http://0.0.0.0:2379 |
| 73 | + ETCD_LISTEN_PEER_URLS: http://0.0.0.0:2380 |
| 74 | + ETCD_ADVERTISE_CLIENT_URLS: http://etcd-3:2379,http://127.0.0.1:2379 |
| 75 | + |
| 76 | + etcd-client: |
| 77 | + image: gcr.io/etcd-development/etcd:v3.3.12 |
| 78 | + restart: always |
| 79 | + volumes: |
| 80 | + - ./certs/:/etc/ssh/certs/ |
| 81 | + networks: |
| 82 | + etcd_dev: |
| 83 | + ipv4_address: 172.30.66.13 |
| 84 | + environment: |
| 85 | + ETCDCTL_API: 2 |
| 86 | + ETCDCTL_ENDPOINTS: http://etcd-1:2379,http://etcd-2:2379,http://etcd-3:2379 |
| 87 | + |
| 88 | +networks: |
| 89 | + etcd_dev: |
| 90 | + driver: bridge |
| 91 | + driver_opts: |
| 92 | + com.docker.network.enable_ipv6: "false" |
| 93 | + ipam: |
| 94 | + driver: default |
| 95 | + config: |
| 96 | + - subnet: 172.30.66.0/24 |
| 97 | + gateway: 172.30.66.1 |
| 98 | + |
0 commit comments