
Mariadb Galera Cluster集群镜像(简称MGC)是基于Mariadb Galera的Docker镜像,仅支持Host网络模式。该镜像旨在简化Mariadb Galera集群的部署与管理,提供一键式无人值守集群创建、灵活的参数配置及自动故障恢复能力,适用于需要高可用关系型数据库的场景。
my_${参数名}(MySQL参数)和wsrep_${参数名}(Galera参数)形式指定。my_port:默认3307,Galera通信端口按约定规则生成(如gcast使用***,即my_port+10000)。node1=IP地址:集群节点1的IP。node2=IP地址:集群节点2的IP。node3=IP地址:集群节点3的IP。| 参数 | 说明 |
|---|---|
mysql_user | 创建自定义用户 |
mysql_user_database | 用户权限数据库 |
mysql_user_password | 自定义用户密码 |
mysql_user_grand | 用户授权权限 |
mysql_database | 创建数据库 |
mysql_root_host | root用户可远程访问的主机 |
mysql_root_password | root用户密码 |
mysql_random_root_password | 随机生成root密码 |
transfer_limit | 传输限速(单位KB/s) |
cluster_name | 集群名称 |
cluster_mode | 是否启用集群模式 |
join_address | 指定已存在的集群成员IP |
interface | 绑定的网卡(用于集群自动探测,默认优先级:br0 > eth1 > eth0,需根据实际环境指定) |
local_addr | 本地IP(兼容本地网卡绑定VIP的场景) |
my_${参数名}形式,例如my_tmp_table_size=512M。wsrep_${参数名}形式,例如wsrep_sst_method=rsync。在集群节点(如192.168.1.100、192.168.1.101、192.168.1.102)分别执行以下命令,节点将自动组建集群:
bashdocker run -d \ --net=host \ --name=mysql-3306 \ -e cluster_name=mysql \ -e my_port=3310 \ -e node1=192.168.1.100 \ -e node2=192.168.1.101 \ -e node3=192.168.1.102 \ -e mysql_user=demo \ -e mysql_user_password=123456 \ -v /data/mariadb-galera:/data/mariadb-galera \ veadan/mariadb-galera
查看启动状态
docker logs -f mysql-3306tail -f /data/mariadb-galera/logs/error.logmysql -h192.168.1.100 -P3310 -udemo -p123456 -e "show status like '%wsrep%'"安装依赖
bashyum install -y haproxy keepalived
配置HAProxy
备份配置文件:
bashcp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.backup
编辑配置文件/etc/haproxy/haproxy.cfg,全量覆盖为以下内容:
#--------------------------------------------------------------------- # Global settings #--------------------------------------------------------------------- global log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 4000 user haproxy group haproxy daemon stats socket /var/lib/haproxy/stats #--------------------------------------------------------------------- # Proxy configuration #--------------------------------------------------------------------- listen MysqlDb_proxy bind 0.0.0.0:3316 mode tcp option tcplog balance leastconn server MysqlDb1 172.16.164.129:3306 check port 3306 maxconn 300 server MysqlDb2 172.16.164.130:3306 check port 3306 maxconn 300 server MysqlDb3 172.16.164.128:3306 check port 3306 maxconn 300 listen stats mode http bind 0.0.0.0:8888 stats enable stats uri /dbs stats realm haproxy\ statistics stats auth admin:admin
配置日志系统
编辑/etc/rsyslog.conf:
bashvim /etc/rsyslog.conf
去掉以下两行注释(开启UDP监听):
$ModLoad imudp $UDPServerRun 514
添加日志配置:
local2.* /var/log/haproxy.log
编辑/etc/sysconfig/rsyslog,添加:
SYSLOGD_OPTIONS="-c 2 -r -m 0"
重启日志服务:
bashservice rsyslog restart
启动HAProxy:
bashsystemctl start haproxy
配置Keepalived
创建HAProxy检查脚本/etc/keepalived/check_haproxy.sh:
bashvim /etc/keepalived/check_haproxy.sh
添加以下内容:
bash#!/bin/bash A=`ps -C haproxy --no-header | wc -l` if [ $A -eq 0 ] then systemctl restart haproxy echo $(date "+%Y-%m-%d %H:%M:%S")" [info] Start haproxy" >> /dev/null sleep 3 if [ `ps -C haproxy --no-header | wc -l` -eq 0 ] then systemctl stop keepalived echo $(date "+%Y-%m-%d %H:%M:%S")" [info] Stop keepalived" >> /dev/null fi fi
赋予执行权限:
bashchmod +x /etc/keepalived/check_haproxy.sh
备份并编辑Keepalived配置文件:
bashcp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.backup vim /etc/keepalived/keepalived.conf
全量覆盖为以下内容:
! Configuration File for keepalived global_defs { notification_email { root@localhost } notification_email_from root@localhost smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_Master } vrrp_script chk_haproxy { script "/etc/keepalived/check_haproxy.sh" interval 5 weight -5 } vrrp_instance VI_1 { state BACKUP nopreempt interface ens33 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } track_script { chk_haproxy } virtual_ipaddress { 172.16.164.188 } notify_master /etc/keepalived/sendmail.pl }
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务