You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
proxysql/docker/scenarios/5backends-replication/docker-compose.yml

124 lines
3.0 KiB

proxysql:
image: proxysql:proxysql
links:
- backend1hostgroup0
- backend1hostgroup1
- backend2hostgroup1
- backend3hostgroup1
- backend4hostgroup1
ports:
# ProxySQL admin port for MySQL commands
- "6032:6032"
# ProxySQL main port
- "6033:6033"
# gdbserver
- "2345:2345"
volumes:
# Sharing the data with
- /tmp/proxysql-tests:/tmp/proxysql-src
privileged: true
# TODO(aismail): remove these hardcoded labels and add them in the template
# as a variable by using docker-inspect on the image.
labels:
"com.proxysql.config": "simple"
"com.proxysql.interactive": "false"
"com.proxysql.os": "ubuntu14"
"com.proxysql.purpose": "testing"
"com.proxysql.type": "proxysql"
"vendor": "proxysql"
backend1hostgroup0:
image: proxysql:mysql-simple-dump
environment:
MYSQL_ROOT_PASSWORD: root
expose:
- "3306"
ports:
- "13306:3306"
# TODO(aismail): remove these hardcoded labels and add them in the template
# as a variable by using docker-inspect on the image.
labels:
"com.proxysql.type": "mysql"
"vendor": "proxysql"
"com.proxysql.hostgroup": "0"
volumes:
- ./master-conf.d:/etc/mysql/conf.d
backend1hostgroup1:
image: proxysql:mysql-empty
environment:
MYSQL_ROOT_PASSWORD: root
NEW_MASTER: True
links:
- backend1hostgroup0
expose:
- "3306"
ports:
- "13307:3306"
# TODO(aismail): remove these hardcoded labels and add them in the template
# as a variable by using docker-inspect on the image.
labels:
"com.proxysql.type": "mysql"
"vendor": "proxysql"
"com.proxysql.hostgroup": "1"
volumes:
- ./slave1-conf.d:/etc/mysql/conf.d
backend2hostgroup1:
image: proxysql:mysql-empty
environment:
MYSQL_ROOT_PASSWORD: root
links:
- backend1hostgroup0
expose:
- "3306"
ports:
- "13308:3306"
# TODO(aismail): remove these hardcoded labels and add them in the template
# as a variable by using docker-inspect on the image.
labels:
"com.proxysql.type": "mysql"
"vendor": "proxysql"
"com.proxysql.hostgroup": "1"
volumes:
- ./slave2-conf.d:/etc/mysql/conf.d
backend3hostgroup1:
image: proxysql:mysql-empty
environment:
MYSQL_ROOT_PASSWORD: root
links:
- backend1hostgroup0
expose:
- "3306"
ports:
- "13309:3306"
# TODO(aismail): remove these hardcoded labels and add them in the template
# as a variable by using docker-inspect on the image.
labels:
"com.proxysql.type": "mysql"
"vendor": "proxysql"
"com.proxysql.hostgroup": "1"
volumes:
- ./slave3-conf.d:/etc/mysql/conf.d
backend4hostgroup1:
image: proxysql:mysql-empty
environment:
MYSQL_ROOT_PASSWORD: root
links:
- backend1hostgroup0
expose:
- "3306"
ports:
- "13310:3306"
# TODO(aismail): remove these hardcoded labels and add them in the template
# as a variable by using docker-inspect on the image.
labels:
"com.proxysql.type": "mysql"
"vendor": "proxysql"
"com.proxysql.hostgroup": "1"
volumes:
- ./slave4-conf.d:/etc/mysql/conf.d