From ef7224afc43348dc6fe3cb56cd08b183c91faa87 Mon Sep 17 00:00:00 2001 From: Andrei-Adnan Ismail Date: Fri, 30 Oct 2015 12:43:53 +0200 Subject: [PATCH] #395 Allow master server to connect back to first slave when it gets promoted to master by using a DNS solution The other options were: - using docker ambassador (didn't work, I tried a couple of options for that) - use multiple servers within the same container --- .../5backends-replication/docker-compose.yml | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/docker/scenarios/5backends-replication/docker-compose.yml b/docker/scenarios/5backends-replication/docker-compose.yml index 3a446dec9..0c641a0a9 100644 --- a/docker/scenarios/5backends-replication/docker-compose.yml +++ b/docker/scenarios/5backends-replication/docker-compose.yml @@ -1,3 +1,10 @@ +dnsdock: + image: tonistiigi/dnsdock + volumes: + - /var/run/docker.sock:/run/docker.sock + ports: + - 172.17.42.1:53:53/udp + proxysql: image: proxysql:{{proxysql_image}} links: @@ -32,6 +39,8 @@ backend1hostgroup0: image: proxysql:mysql-simple-dump environment: MYSQL_ROOT_PASSWORD: root + DNSDOCK_NAME: master + DNSDOCK_IMAGE: mysql expose: - "3306" ports: @@ -44,11 +53,14 @@ backend1hostgroup0: "com.proxysql.hostgroup": "0" volumes: - ./master-conf.d:/etc/mysql/conf.d + dns: 172.17.42.1 backend1hostgroup1: image: proxysql:mysql-empty environment: MYSQL_ROOT_PASSWORD: root + DNSDOCK_NAME: slave1 + DNSDOCK_IMAGE: mysql links: - backend1hostgroup0 expose: @@ -63,11 +75,14 @@ backend1hostgroup1: "com.proxysql.hostgroup": "1" volumes: - ./slave1-conf.d:/etc/mysql/conf.d + dns: 172.17.42.1 backend2hostgroup1: image: proxysql:mysql-empty environment: MYSQL_ROOT_PASSWORD: root + DNSDOCK_NAME: slave2 + DNSDOCK_IMAGE: mysql links: - backend1hostgroup0 expose: @@ -82,11 +97,14 @@ backend2hostgroup1: "com.proxysql.hostgroup": "1" volumes: - ./slave2-conf.d:/etc/mysql/conf.d + dns: 172.17.42.1 backend3hostgroup1: image: proxysql:mysql-empty environment: MYSQL_ROOT_PASSWORD: root + DNSDOCK_NAME: slave3 + DNSDOCK_IMAGE: mysql links: - backend1hostgroup0 expose: @@ -101,11 +119,14 @@ backend3hostgroup1: "com.proxysql.hostgroup": "1" volumes: - ./slave3-conf.d:/etc/mysql/conf.d + dns: 172.17.42.1 backend4hostgroup1: image: proxysql:mysql-empty environment: MYSQL_ROOT_PASSWORD: root + DNSDOCK_NAME: slave4 + DNSDOCK_IMAGE: mysql links: - backend1hostgroup0 expose: @@ -119,4 +140,5 @@ backend4hostgroup1: "vendor": "proxysql" "com.proxysql.hostgroup": "1" volumes: - - ./slave4-conf.d:/etc/mysql/conf.d \ No newline at end of file + - ./slave4-conf.d:/etc/mysql/conf.d + dns: 172.17.42.1 \ No newline at end of file