| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- services:
- mysql80-1:
- image: registry.cn-chengdu.aliyuncs.com/reghao/mysql:8.0.36
- container_name: mysql80-1
- hostname: mysql80-1
- ports:
- - "33061:3306"
- environment:
- MYSQL_ROOT_PASSWORD: "Root_123456"
- volumes:
- - /etc/localtime:/etc/localtime:ro
- - /opt/docker/mysql80a/conf/my.cnf:/etc/mysql/conf.d/my.cnf
- - /opt/docker/mysql80a/data:/var/lib/mysql
- - /opt/docker/mysql80a/log:/var/log/mysql
- healthcheck:
- test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-u", "root", "-p$${MYSQL_ROOT_PASSWORD}"]
- interval: 5s
- timeout: 5s
- retries: 10
- networks:
- mgr-net:
- ipv4_address: 172.20.0.11
- mysql80-2:
- image: registry.cn-chengdu.aliyuncs.com/reghao/mysql:8.0.36
- container_name: mysql80-2
- hostname: mysql80-2
- ports:
- - "33062:3306"
- environment:
- MYSQL_ROOT_PASSWORD: "Root_123456"
- volumes:
- - /etc/localtime:/etc/localtime:ro
- - /opt/docker/mysql80b/conf/my.cnf:/etc/mysql/conf.d/my.cnf
- - /opt/docker/mysql80b/data:/var/lib/mysql
- - /opt/docker/mysql80b/log:/var/log/mysql
- healthcheck:
- test: [ "CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-u", "root", "-p$${MYSQL_ROOT_PASSWORD}" ]
- interval: 5s
- timeout: 5s
- retries: 10
- depends_on:
- mysql80-1:
- condition: service_healthy
- networks:
- mgr-net:
- ipv4_address: 172.20.0.12
- mysql80-3:
- image: registry.cn-chengdu.aliyuncs.com/reghao/mysql:8.0.36
- container_name: mysql80-3
- hostname: mysql80-3
- ports:
- - "33063:3306"
- environment:
- MYSQL_ROOT_PASSWORD: "Root_123456"
- volumes:
- - /etc/localtime:/etc/localtime:ro
- - /opt/docker/mysql80c/conf/my.cnf:/etc/mysql/conf.d/my.cnf
- - /opt/docker/mysql80c/data:/var/lib/mysql
- - /opt/docker/mysql80c/log:/var/log/mysql
- healthcheck:
- test: [ "CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-u", "root", "-p$${MYSQL_ROOT_PASSWORD}" ]
- interval: 5s
- timeout: 5s
- retries: 10
- depends_on:
- mysql80-2:
- condition: service_healthy
- networks:
- mgr-net:
- ipv4_address: 172.20.0.13
- proxysql:
- image: proxysql/proxysql:2.6.3
- container_name: proxysql
- restart: always
- ports:
- - "6032:6032" # 管理接口 (SQL 命令行配置)
- - "6033:6033" # 业务访问接口 (应用连这里)
- volumes:
- - /etc/localtime:/etc/localtime:ro
- healthcheck:
- # 检查业务端口 6032 是否接受连接
- test: [ "CMD", "mysql", "-uadmin", "-padmin", "-h127.0.0.1", "-P6032", "-e", "SELECT 1" ]
- interval: 10s # 每 10 秒检查一次
- timeout: 5s # 超时时间 5 秒
- retries: 3 # 连续失败 3 次认为是不健康
- start_period: 10s # 容器启动后给 10 秒缓冲时间再开始检查
- networks:
- mgr-net:
- ipv4_address: 172.20.0.15
- networks:
- mgr-net:
- driver: bridge
- ipam:
- config:
- - subnet: 172.20.0.0/24
|