118 lines
3.7 KiB
YAML
118 lines
3.7 KiB
YAML
x-defaults: &defaults
|
|
restart: unless-stopped
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: 100m
|
|
max-file: "3"
|
|
|
|
x-mariadb-galera: &mariadb-galera
|
|
<<: *defaults
|
|
image: ${GLOBAL_REGISTRY:-}mariadb:${MARIADB_VERSION:-11.7.2}
|
|
environment: &galera-env
|
|
TZ: ${TZ:-UTC}
|
|
MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD:-galera}
|
|
MARIADB_GALERA_CLUSTER_NAME: ${MARIADB_GALERA_CLUSTER_NAME:-galera_cluster}
|
|
MARIADB_GALERA_CLUSTER_ADDRESS: gcomm://mariadb-galera-1,mariadb-galera-2,mariadb-galera-3
|
|
command:
|
|
- --wsrep-new-cluster
|
|
- --wsrep_node_address=${WSREP_NODE_ADDRESS}
|
|
- --wsrep_cluster_name=${MARIADB_GALERA_CLUSTER_NAME:-galera_cluster}
|
|
- --wsrep_cluster_address=gcomm://mariadb-galera-1,mariadb-galera-2,mariadb-galera-3
|
|
- --wsrep_sst_method=rsync
|
|
- --wsrep_on=ON
|
|
- --wsrep_provider=/usr/lib/galera/libgalera_smm.so
|
|
- --binlog_format=row
|
|
- --default_storage_engine=InnoDB
|
|
- --innodb_autoinc_lock_mode=2
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: ${MARIADB_CPU_LIMIT:-2.0}
|
|
memory: ${MARIADB_MEMORY_LIMIT:-2G}
|
|
reservations:
|
|
cpus: ${MARIADB_CPU_RESERVATION:-1.0}
|
|
memory: ${MARIADB_MEMORY_RESERVATION:-1G}
|
|
healthcheck:
|
|
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 60s
|
|
|
|
services:
|
|
mariadb-galera-1:
|
|
<<: *mariadb-galera
|
|
hostname: mariadb-galera-1
|
|
ports:
|
|
- "${MARIADB_PORT_1_OVERRIDE:-3306}:3306"
|
|
environment:
|
|
<<: *galera-env
|
|
WSREP_NODE_ADDRESS: mariadb-galera-1
|
|
command:
|
|
- --wsrep-new-cluster
|
|
- --wsrep_node_address=mariadb-galera-1
|
|
- --wsrep_cluster_name=${MARIADB_GALERA_CLUSTER_NAME:-galera_cluster}
|
|
- --wsrep_cluster_address=gcomm://mariadb-galera-1,mariadb-galera-2,mariadb-galera-3
|
|
- --wsrep_sst_method=rsync
|
|
- --wsrep_on=ON
|
|
- --wsrep_provider=/usr/lib/galera/libgalera_smm.so
|
|
- --binlog_format=row
|
|
- --default_storage_engine=InnoDB
|
|
- --innodb_autoinc_lock_mode=2
|
|
volumes:
|
|
- mariadb_galera_1_data:/var/lib/mysql
|
|
|
|
mariadb-galera-2:
|
|
<<: *mariadb-galera
|
|
hostname: mariadb-galera-2
|
|
ports:
|
|
- "${MARIADB_PORT_2_OVERRIDE:-3307}:3306"
|
|
environment:
|
|
<<: *galera-env
|
|
WSREP_NODE_ADDRESS: mariadb-galera-2
|
|
command:
|
|
- --wsrep_node_address=mariadb-galera-2
|
|
- --wsrep_cluster_name=${MARIADB_GALERA_CLUSTER_NAME:-galera_cluster}
|
|
- --wsrep_cluster_address=gcomm://mariadb-galera-1,mariadb-galera-2,mariadb-galera-3
|
|
- --wsrep_sst_method=rsync
|
|
- --wsrep_on=ON
|
|
- --wsrep_provider=/usr/lib/galera/libgalera_smm.so
|
|
- --binlog_format=row
|
|
- --default_storage_engine=InnoDB
|
|
- --innodb_autoinc_lock_mode=2
|
|
volumes:
|
|
- mariadb_galera_2_data:/var/lib/mysql
|
|
depends_on:
|
|
mariadb-galera-1:
|
|
condition: service_healthy
|
|
|
|
mariadb-galera-3:
|
|
<<: *mariadb-galera
|
|
hostname: mariadb-galera-3
|
|
ports:
|
|
- "${MARIADB_PORT_3_OVERRIDE:-3308}:3306"
|
|
environment:
|
|
<<: *galera-env
|
|
WSREP_NODE_ADDRESS: mariadb-galera-3
|
|
command:
|
|
- --wsrep_node_address=mariadb-galera-3
|
|
- --wsrep_cluster_name=${MARIADB_GALERA_CLUSTER_NAME:-galera_cluster}
|
|
- --wsrep_cluster_address=gcomm://mariadb-galera-1,mariadb-galera-2,mariadb-galera-3
|
|
- --wsrep_sst_method=rsync
|
|
- --wsrep_on=ON
|
|
- --wsrep_provider=/usr/lib/galera/libgalera_smm.so
|
|
- --binlog_format=row
|
|
- --default_storage_engine=InnoDB
|
|
- --innodb_autoinc_lock_mode=2
|
|
volumes:
|
|
- mariadb_galera_3_data:/var/lib/mysql
|
|
depends_on:
|
|
mariadb-galera-1:
|
|
condition: service_healthy
|
|
|
|
volumes:
|
|
mariadb_galera_1_data:
|
|
mariadb_galera_2_data:
|
|
mariadb_galera_3_data:
|