本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
** 注意 **:这是 mariadb 官方镜像 的 amd64 架构构建的“每个架构”仓库——更多信息,请参见官方镜像文档中的“除 amd64 之外的架构?”“Architectures other than amd64?” 和官方镜像常见问题中的“Git 中的镜像源已更改,现在该怎么办?”“An image's source changed in Git, now what?”。
-** 维护者 **:
MariaDB Foundation、MariaDB plc,以及 社区 贡献者
-** 获取帮助 **:
数据库管理员(Stack Exchange)、MariaDB 知识库(在此提问)。
另请参见 MariaDB 知识库上的 “获取 MariaDB 帮助”文章。
Dockerfile 链接12.1.1-ubi10-rc, 12.1-ubi10-rc, 12.1.1-ubi-rc, 12.1-ubi-rc
12.1.1-noble-rc, 12.1-noble-rc, 12.1.1-rc, 12.1-rc
12.0.2-ubi10, 12.0-ubi10, 12-ubi10, 12.0.2-ubi, 12.0-ubi, 12-ubi
12.0.2-noble, 12.0-noble, 12-noble, noble, 12.0.2, 12.0, 12, latest
11.8.3-ubi9, 11.8-ubi9, 11-ubi9, lts-ubi9, 11.8.3-ubi, 11.8-ubi, 11-ubi, lts-ubi
11.8.3-noble, 11.8-noble, 11-noble, lts-noble, 11.8.3, 11.8, 11, lts
11.4.8-ubi9, 11.4-ubi9, 11.4.8-ubi, 11.4-ubi
11.4.8-noble, 11.4-noble, 11.4.8, 11.4
10.11.14-ubi9, 10.11-ubi9, 10-ubi9, 10.11.14-ubi, 10.11-ubi, 10-ubi
10.11.14-jammy, 10.11-jammy, 10-jammy, 10.11.14, 10.11, 10
10.6.23-ubi9, 10.6-ubi9, 10.6.23-ubi, 10.6-ubi
10.6.23-jammy, 10.6-jammy, 10.6.23, 10.6
-** 提交问题 :
可在 [*] 的 “MDEV” 项目下的 “Docker” 组件提交,或在 GitHub 提交
-** 支持的架构 **:(更多信息)
amd64、arm64v8、ppc64le、s390x
-** 已发布镜像制品详情 **:
repo-info 仓库的 repos/mariadb/ 目录(历史记录)
(镜像元数据、传输大小等)
-** 镜像更新 **:
official-images 仓库的 library/mariadb 标签
official-images 仓库的 library/mariadb 文件(历史记录)
-** 本描述的来源 **:
docs 仓库的 mariadb/ 目录(历史记录)
MariaDB Server 是全球最受欢迎的数据库服务器之一。它由 MySQL 原开发者打造,保证开源。知名用户包括 ***、DBS Bank 和 ServiceNow。
其目标是保持与 MySQL 的高度兼容性,确保库二进制等效性,并与 MySQL API 和命令完全匹配。MariaDB 开发者持续开发新功能并提升性能,以更好地服务用户。
!logo
amd64/mariadb 有多个标签,其中 latest 为最新稳定版本,lts 为最新长期支持版本。
默认情况下,容器内运行的数据库监听 3306 端口。可通过 docker run 的 -p 3306:3306 参数将容器 3306 端口映射到主机 3306 端口,如下命令所示:
$ docker run --name some-mariadb -p 3306:3306 amd64/mariadb:latest
使用此镜像需设置的环境变量包括 root 用户密码:
$ docker run --detach --name some-mariadb --env MARIADB_ROOT_PASSWORD=my-secret-pw amd64/mariadb:latest
或:
$ docker run --detach --name some-mariadb --env MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1 amd64/mariadb:latest
或:
$ docker run --detach --name some-mariadb --env MARIADB_RANDOM_ROOT_PASSWORD=1 amd64/mariadb:latest
... 此时容器日志将包含生成的 root 密码。
docker composemariadb 的 compose.yaml 示例:
# 使用 root/example 作为用户/密码凭据 services: db: image: mariadb restart: always environment: MARIADB_ROOT_PASSWORD: example adminer: image: adminer restart: always ports: - 8080:8080
运行 docker compose up,等待完全初始化后,访问 http://localhost:8080 或 [***](根据实际情况)。
amd64/mariadb 服务器实例启动带有用户、密码和数据库的 MariaDB 实例:
$ docker run --detach --name some-mariadb --env MARIADB_USER=example-user --env MARIADB_PASSWORD=my_cool_secret --env MARIADB_DATABASE=exmple-database --env MARIADB_ROOT_PASSWORD=my-secret-pw amd64/mariadb:latest
amd64/mariadb 服务器实例由于应用需与 MariaDB 通信,MariaDB 需与应用在同一网络中启动:
$ docker network create some-network $ docker run --detach --network some-network --name some-mariadb --env MARIADB_USER=example-user --env MARIADB_PASSWORD=my_cool_secret --env MARIADB_ROOT_PASSWORD=my-secret-pw amd64/mariadb:latest $ docker run --detach --network some-network --name some-application --env APP_DB_HOST=some-mariadb --env APP_DB_USER=example-user --env APP_DB_PASSWD=my_cool_secret some-application
... 其中 some-network 是新创建的网络(非默认 bridge 网络),some-mariadb 是要分配给容器的名称,my-secret-pw 是要为 MariaDB root 用户设置的密码。请参见上面的标签列表选择适合您需求和环境的标签。some-application 及其环境变量 APP_DB_HOST、APP_DB_USER 和 APP_DB_PASSWD 是应用的数据库连接配置。
以下命令启动另一个 amd64/mariadb 容器实例,并对原始 amd64/mariadb 容器运行 mariadb 命令行客户端,允许您对数据库实例执行 SQL 语句:
$ docker run -it --network some-network --rm amd64/mariadb mariadb -h some-mariadb -u example-user
... 其中 some-mariadb 是原始 amd64/mariadb 容器的名称(已连接到 some-network Docker 网络)。
此镜像也可用作非 Docker 或远程实例的客户端:
$ docker run -it --rm amd64/mariadb mariadb --host <server container IP> --user example-user --password --database test
这将为您提供标准的 MariaDB 提示符。您可以通过以下命令测试:
MariaDB [(none)]> \s -------------- client/mariadb Ver 15.1 Distrib 10.6.16-MariaDB, for Linux (x86_64) using EditLine wrapper Connection id: 20 Current database: test Current user: example-user@bark SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server: MariaDB Server version: 10.6.16-MariaDB Source distribution Protocol version: 10 Connection: 192.168.178.73 via TCP/IP Server characterset: latin1 Db characterset: latin1 Client characterset: utf8mb3 Conn. characterset: utf8mb3 TCP port: 3306 Uptime: 6 min 4 sec Threads: 1 Questions: 32 Slow queries: 0 Opens: 20 Open tables: 13 Queries per second avg: 0.087 --------------
... 这将为您提供版本和连接信息。然后您可以使用 exit 离开 MariaDB 命令行客户端和客户端容器。
有关 MariaDB 命令行客户端的更多信息,请参见 MariaDB 知识库:MariaDB 命令行客户端。
docker exec 命令允许您在运行的容器内运行命令。以下命令将为您提供 amd64/mariadb 容器内的 bash shell:
$ docker exec -it some-mariadb bash
由于 MariaDB-Backup 与服务器版本高度耦合,在特定版本的 mariadb 容器中使用 mariadb-backup 可能很有用:
$ docker run --volume /backup-volume:/backup --rm mariadb:10.6.15 mariadb-backup --help
日志可通过 Docker 的容器日志查看:
$ docker logs some-mariadb
自定义配置文件应以 .cnf 结尾,并以只读方式挂载到 /etc/mysql/conf.d 目录。这些文件应包含针对您的应用/环境所需的 MariaDB 工作负载的最小更改。MariaDB 配置文件将包含 [mariadb] 组,后跟 variable = value 设置,具体参见 设置服务器系统变量 或 option-prefix-variable。
amd64/mariadb 镜像配置包含 Ubuntu MariaDB 变量,并对容器有两项自定义更改:
host-cache-size=0skip-name-resolve这些禁用 user@hostname 用户的身份验证。要重新启用 skip-name-resolve,

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429