MariaDB Galera 是一个多主数据库集群解决方案,提供同步复制和高可用性。Bitnami MariaDB Galera 镜像是由 Bitnami 打包的容器化版本,旨在简化 MariaDB Galera 集群的部署和管理,适用于开发、测试及生产环境(注:生产环境建议使用 Bitnami Secure Images)。
MariaDB Galera 概述
商标说明:本软件列表由 Bitnami 打包,所提及的商标分属各自公司所有,使用这些商标并不意味着任何关联或背书。
consoledocker run --name mariadb-galera \ -e ALLOW_EMPTY_PASSWORD=yes \ bitnami/mariadb-galera:latest
警告:以上快速启动仅适用于开发环境。生产环境中应修改默认凭证,并参考 配置 部分进行安全部署。
自 2025 年 8 月 28 日起,Bitnami 将升级其公共镜像目录,通过新的 Bitnami Secure Images 计划 提供精选的安全加固镜像:
这些变更旨在通过推广软件供应链完整性最佳实践和最新部署,提升所有 Bitnami 用户的安全态势。更多详情参见 https://github.com/bitnami/containers/issues/83267%E3%80%82
使用 Helm Chart 是在 Kubernetes 上部署 Bitnami 应用的最简单方式。详见 https://github.com/bitnami/charts/tree/master/bitnami/mariadb-galera%E3%80%82
非 root 容器镜像增加了额外安全层,通常推荐用于生产环境。但由于以非 root 用户运行,特权操作通常受限。更多信息参见 Bitnami 非 root 容器文档。
注意:Debian 9 和 Oracle Linux 7 基础镜像已弃用,Bitnami 不再发布基于这些系统的新 Docker 镜像。
Bitnami 标签策略及滚动标签与固定标签的区别详见 文档。各标签对应关系可查看分支文件夹中的 tags-info.yaml 文件(如 bitnami/ASSET/BRANCH/DISTRO/tags-info.yaml)。
可通过关注 https://github.com/bitnami/containers 获取项目更新。
推荐从 https://hub.docker.com/r/bitnami/mariadb-galera 拉取预构建镜像:
consoledocker pull bitnami/mariadb-galera:latest
如需指定版本,可拉取带版本标签的镜像。https://hub.docker.com/r/bitnami/mariadb-galera/tags/ 参见 Docker Hub。
consoledocker pull bitnami/mariadb-galera:[TAG]
也可手动构建镜像:
consolegit clone https://github.com/bitnami/containers.git cd bitnami/APP/VERSION/OPERATING-SYSTEM # 替换 APP、VERSION、OPERATING-SYSTEM 为实际值 docker build -t bitnami/APP:latest .
若删除容器,所有数据将丢失。为避免数据丢失,需挂载持久化卷至 /bitnami/mariadb 路径。挂载空目录时,首次运行会自动初始化数据。
consoledocker run \ -e ALLOW_EMPTY_PASSWORD=yes \ -v /path/to/mariadb-persistence:/bitnami/mariadb \ bitnami/mariadb-galera:latest
修改仓库中的 https://github.com/bitnami/containers/blob/main/bitnami/mariadb-galera/docker-compose.yml%EF%BC%9A
yamlservices: mariadb: ... volumes: - /path/to/mariadb-persistence:/bitnami/mariadb ...
通过 Docker 容器网络,容器内的 MariaDB 服务可被其他应用容器访问,同一网络中的容器可通过容器名作为主机名通信。
步骤 1:创建网络
consoledocker network create app-tier --driver bridge
步骤 2:启动 MariaDB Galera 服务
consoledocker run -d --name mariadb-galera \ -e ALLOW_EMPTY_PASSWORD=yes \ --network app-tier \ bitnami/mariadb-galera:latest
步骤 3:启动客户端容器
consoledocker run -it --rm \ --network app-tier \ bitnami/mariadb-galera:latest mysql -h mariadb-galera -u root
以下示例定义 app-tier 桥接网络,假设应用服务名为 myapp:
yamlversion: '2' networks: app-tier: driver: bridge services: mariadb-galera: image: bitnami/mariadb-galera:latest environment: - ALLOW_EMPTY_PASSWORD=yes networks: - app-tier myapp: image: YOUR_APPLICATION_IMAGE # 替换为实际应用镜像 networks: - app-tier
重要:
- 需将
YOUR_APPLICATION_IMAGE替换为实际应用镜像- 应用容器中使用主机名
mariadb-galera连接数据库
启动容器:
consoledocker-compose up -d
可自定义环境变量
| 变量名 | 描述 | 默认值 |
|---|---|---|
ALLOW_EMPTY_PASSWORD | 允许空密码访问 MariaDB Galera | no |
MARIADB_AUTHENTICATION_PLUGIN | 首次初始化时配置的认证插件 | nil |
MARIADB_ROOT_USER | 数据库 root 用户 | root |
MARIADB_ROOT_PASSWORD | root 用户密码 | nil |
MARIADB_USER | 首次初始化时创建的数据库用户 | nil |
MARIADB_PASSWORD | 自定义数据库用户密码 | nil |
MARIADB_DATABASE | 首次初始化时创建的数据库 | nil |
MARIADB_MASTER_HOST | 主节点地址 | nil |
MARIADB_MASTER_PORT_NUMBER | 主节点端口 | 3306 |
MARIADB_MASTER_ROOT_USER | 主节点 root 用户 | root |
MARIADB_MASTER_ROOT_PASSWORD | 主节点 root 用户密码 | nil |
MARIADB_MASTER_DELAY | 复制延迟(秒) | 0 |
MARIADB_REPLICATION_USER | 复制用户 | monitor |
MARIADB_REPLICATION_PASSWORD | 复制用户密码 | monitor |
MARIADB_PORT_NUMBER | 数据库服务端口 | nil |
MARIADB_REPLICATION_MODE | 复制模式 | nil |
MARIADB_REPLICATION_SLAVE_DUMP | 是否从主节点 dump 数据并更新从节点 | false |
MARIADB_EXTRA_FLAGS | 启动数据库时附加的参数 | nil |
MARIADB_INIT_SLEEP_TIME | 初始化配置操作等待睡眠时间(秒) | nil |
MARIADB_CHARACTER_SET | 字符集 | nil |
MARIADB_COLLATE | 排序规则 | nil |
MARIADB_BIND_ADDRESS | 绑定地址 | nil |
MARIADB_SQL_MODE | 启用的 SQL 模式 | nil |
MARIADB_UPGRADE | 升级选项 | AUTO |
MARIADB_SKIP_TEST_DB | 是否跳过创建 test 数据库 | no |
MARIADB_CLIENT_ENABLE_SSL | 是否强制客户端 SSL 连接 | no |
MARIADB_CLIENT_SSL_CA_FILE | 客户端 SSL CA 证书路径 | nil |
MARIADB_CLIENT_SSL_CERT_FILE | 客户端 SSL 证书路径 | nil |
MARIADB_CLIENT_SSL_KEY_FILE | 客户端 SSL 密钥路径 | nil |
MARIADB_CLIENT_EXTRA_FLAGS | mysql 客户端附加参数(用于依赖 CLI 的应用) | no |
MARIADB_STARTUP_WAIT_RETRIES | 数据库启动等待重试次数 | 300 |
MARIADB_STARTUP_WAIT_SLEEP_TIME | 重试间隔(秒) | 2 |
MARIADB_ENABLE_SLOW_QUERY | 是否启用慢查询日志 | 0 |
MARIADB_LONG_QUERY_TIME | 慢查询阈值(秒) | 10.0 |
MARIADB_GALERA_DEFAULT_NODE_NAME | 节点默认逻辑名称 | nil |
MARIADB_GALERA_DEFAULT_NODE_ADDRESS | 节点默认报告地址 | nil |
MARIADB_GALERA_DEFAULT_MARIABACKUP_PASSWORD | mariabackup 工具默认密码(用于 SST) | nil |
MARIADB_GALERA_CONF_DIR | 配置目录 | /opt/bitnami/mariadb/conf |
MARIADB_GALERA_MOUNTED_CONF_DIR | 自定义配置覆盖目录 | /bitnami/conf |
MARIADB_GALERA_FORCE_SAFETOBOOTSTRAP | 是否强制引导(即使节点标记为不安全) | nil |
MARIADB_GALERA_CLUSTER_BOOTSTRAP | 是否作为集群引导节点 | nil |
MARIADB_GALERA_CLUSTER_ADDRESS | 集群地址 | nil |
MARIADB_GALERA_CLUSTER_NAME | 集群名称 | $DB_GALERA_DEFAULT_CLUSTER_NAME |
MARIADB_GALERA_NODE_NAME | 节点逻辑名称(默认主机名) | nil |
MARIADB_GALERA_NODE_ADDRESS | 节点报告地址(默认 IP) | nil |
MARIADB_GALERA_SST_METHOD | 状态快照传输(SST)方法 | $DB_GALERA_DEFAULT_SST_METHOD |
MARIADB_GALERA_MARIABACKUP_USER | mariabackup 工具用户(用于 SST) | $DB_GALERA_DEFAULT_MARIABACKUP_USER |
MARIADB_GALERA_MARIABACKUP_PASSWORD | mariabackup 工具密码(用于 SST) | $DB_GALERA_DEFAULT_MARIABACKUP_PASSWORD |
MARIADB_ENABLE_LDAP | 是否启用 LDAP 认证 | no |
MARIADB_ENABLE_TLS | 是否启用 SSL/TLS | no |
MARIADB_TLS_CERT_FILE | SSL/TLS 证书路径 | nil |
MARIADB_TLS_KEY_FILE | SSL/TLS 密钥路径 | nil |
MARIADB_TLS_CA_FILE | SSL/TLS CA 证书路径 | nil |
只读环境变量
| 变量名 | 描述 | 值 |
|---|---|---|
DB_FLAVOR | 数据库类型(有效值:mariadb 或 mysql) | mariadb |
DB_BASE_DIR | 基础目录 | ${BITNAMI_ROOT_DIR}/mariadb |
DB_VOLUME_DIR | 持久化文件目录 | ${BITNAMI_VOLUME_DIR}/mariadb |
DB_DATA_DIR | 数据文件目录 | ${DB_VOLUME_DIR}/data |
DB_BIN_DIR | 可执行文件目录 | ${DB_BASE_DIR}/bin |
DB_SBIN_DIR | 服务二进制文件目录 | ${DB_BASE_DIR}/sbin |
DB_CONF_DIR | 配置目录 | ${DB_BASE_DIR}/conf |
DB_DEFAULT_CONF_DIR | 默认配置目录 | ${DB_BASE_DIR}/conf.default |
DB_LOGS_DIR | 日志目录 | ${DB_BASE_DIR}/logs |
DB_TMP_DIR | 临时文件目录 | ${DB_BASE_DIR}/tmp |
DB_CONF_FILE | 主 |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务