
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
babim/mariadb-galera是一个用于快速部署MariaDB Galera集群的Docker镜像。Galera是一个基于同步复制的集群解决方案,提供高可用性和数据一致性,适用于需要可靠数据库服务的生产环境。该镜像支持多节点集群部署,提供灵活的配置选项,包括密码设置和SSL加密。
当容器启动时时镜像时未指定命令,入口程序会监听1端口***等待命令输入。可以通过nc命令向容器发送控制命令:
bashecho "命令内容" | nc 容器IP 13306
1. 启动容器
根据是否需要密码,选择以下命令启动容器:
无密码模式
bashdocker run \ -v /path/to/my.cnf:/etc/mysql/my.cnf \ -v /path/to/mariadb:/var/lib/mysql \ -v /path/to/certs/:/etc/ssl/mysql:ro \ -e MYSQL_ALLOW_EMPTY_PASSWORD=true \ babim/mariadb-galera
带密码模式
bashdocker run \ -v /path/to/my.cnf:/etc/mysql/my.cnf \ -v /path/to/mariadb:/var/lib/mysql \ -v /path/to/certs/:/etc/ssl/mysql:ro \ -e MYSQL_ROOT_PASSWORD=123456 \ babim/mariadb-galera
2. 准备集群地址
将所有节点容器的IP地址拼接为gcomm://格式的字符串,例如:
gcomm://10.0.0.1,10.0.0.2,10.0.0.3
3. 启动第一个节点(新建集群)
bashecho "mysqld --ws --wsrep-cluster-address=gcomm://10.0.0.1,10.0.0.2,10.00.0.3" | nc 10.0.0.1 ***
4. 启动后续节点(加入现有集群)
依次为其他节点发送加入集群命令:
bashecho "mysqld --wsrep-cluster-address=gcomm://10.0.0.1,10.0.0.2,10.0.0.3" | nc 10.0.0.2 *** echo "mysqld --wsrep-cluster-address=gcomm://10.0.0.1,10.0.0.2,10.0.0.3" | nc 10.0.0.3 ***
可生成自签名SSL证书,将证书目录挂载到容器内/etc/ssl/mysql(只读模式),并在my.cnf中配置[sst]部分:
ini[sst] tca=/etc/ssl/mysql/ca.pem tcert=/etc/ssl/mysql/server-cert.pem tkey=/etc/ssl/mysql/server-key.pem
ini[mysqld] datadir=/var/lib/mysql socket=/var/run/mysqld/mysqld.sock user=mysql binlog-format=ROW default-storage-engine=InnoDB innodb-autoinc-lock-mode=2 innodb-flush-log-at-trx-commit=0 innodb-buffer-pool-size=122M innodb-doublewrite=1 innodb-flush-method=O_DIRECT wsrep-provider=/usr/lib/galera/libgalera_smm.so wsrep-cluster-name=my_super_cluster wsrep-sst-method=rsync query-cache-size=524288 log-error=/dev/stderr [mysql_safe] log-error=/dev/stderr pid-file=/var/run/mysqld/mysqld.pid [sst] tca=/etc/ssl/mysql/ca.pem tcert=/etc/ssl/mysql/server-cert.pem tkey=/etc/ssl/mysql/server-key.pem
通过以下命令检查集群状态:
bashdocker exec -ti database01 mysql -e "SHOW STATUS LIKE 'wsrep_cluster%'"
预期输出:
+--------------------------+--------------------------------------+ | Variable_name | Value | +--------------------------+--------------------------------------+ | wswsrep_cluster_conf_id | 3 | | wsrep_cluster_size | 3 | | wsrep_cluster_state_uuid | 2882bcb7-ab3b-11e5-ab75-2b510ef0ec6f | | wsrep_cluster_status | Primary | +--------------------------+--------------------------------------+
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务