services: mysql-master: image: 134.80.124.7:8033/cmii/mysql:8.1.0-debian-11-r42 ports: - '3306:3306' volumes: - '/var/lib/docker/mysql_data:/bitnami/mysql/data' environment: - MYSQL_REPLICATION_MODE=master - MYSQL_REPLICATION_USER=repl_user - MYSQL_USER=my_user - MYSQL_DATABASE=cmii # ALLOW_EMPTY_PASSWORD is recommended only for development. - ALLOW_EMPTY_PASSWORD=no - MYSQL_ROOT_USER=root - MYSQL_ROOT_PASSWORD=QzfXQhd3bQ - MYSQL_MASTER_HOST=134.80.124.19 - MYSQL_MASTER_PORT_NUMBER=3306 healthcheck: test: ['/bin/bash', '-ec', 'password_aux="${MYSQL_ROOT_PASSWORD:-}" if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE") fi mysqladmin status -uroot -p"${password_aux}"'] interval: 15s timeout: 5s retries: 6 mysql-slave: image: docker.io/bitnami/mysql:8.4 ports: - '3306' depends_on: - mysql-master environment: - MYSQL_REPLICATION_MODE=slave - MYSQL_REPLICATION_USER=repl_user - MYSQL_USER=my_user - MYSQL_DATABASE=my_database - MYSQL_MASTER_HOST=mysql-master - MYSQL_MASTER_PORT_NUMBER=3306 - MYSQL_MASTER_ROOT_PASSWORD=my_root_password # ALLOW_EMPTY_PASSWORD is recommended only for development. - ALLOW_EMPTY_PASSWORD=yes # In case of missing binary files on master, use `true` to reset those binary files. Creating a previous backup is recommended. - MYSQL_REPLICATION_SLAVE_DUMP=false healthcheck: test: ['CMD', '/opt/bitnami/scripts/mysql/healthcheck.sh'] interval: 15s timeout: 5s retries: 6 volumes: mysql_master_data: driver: local