ppc64le/mariadb** 注意 **:这是 mariadb 官方镜像 的 ppc64le 架构构建的“按架构”仓库——更多信息,请参见官方镜像文档中的“非 amd64 架构?”以及官方镜像常见问题中的“Git 中的镜像源已更改,该怎么办?”。
-** 维护者 **:
MariaDB 基金会、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 的原始开发人员打造,并保证保持开源。著名用户包括***、星展银行和 ServiceNow。
其目标是保持与 MySQL 的高度兼容性,确保库二进制等效性以及与 MySQL API 和命令的精确匹配。MariaDB 开发人员持续开发新功能并提升性能,以更好地服务用户。
!logo
ppc64le/mariadb 有多个标签,其中值得注意的是 latest(最新稳定版本)和 lts(最新长期支持版本)。
默认情况下,容器内运行的数据库将监听 3306 端口。您可以通过 docker run 命令的 -p 3306:3306 参数将容器的 3306 端口映射到主机的 3306 端口,如下所示:
console$ docker run --name some-mariadb -p 3306:3306 ppc64le/mariadb:latest
使用此镜像所需的环境变量包括设置 root 用户密码:
console$ docker run --detach --name some-mariadb --env MARIADB_ROOT_PASSWORD=my-secret-pw ppc64le/mariadb:latest
或:
console$ docker run --detach --name some-mariadb --env MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1 ppc64le/mariadb:latest
或:
console$ docker run --detach --name some-mariadb --env MARIADB_RANDOM_ROOT_PASSWORD=1 ppc64le/mariadb:latest
... 此时容器日志将包含生成的 root 密码。
docker composemariadb 的 compose.yaml 示例:
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 或 [***](视情况而定)。
ppc64le/mariadb 服务器实例启动带有用户、密码和数据库的 MariaDB 实例:
console$ 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 ppc64le/mariadb:latest
ppc64le/mariadb 服务器实例由于应用程序需要与 MariaDB 通信,MariaDB 需与应用程序在同一网络中启动:
console$ 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 ppc64le/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 是应用程序的数据库连接配置。
以下命令启动另一个 ppc64le/mariadb 容器实例,并针对原始 ppc64le/mariadb 容器运行 mariadb 命令行客户端,允许您对数据库实例执行 SQL 语句:
console$ docker run -it --network some-network --rm ppc64le/mariadb mariadb -h some-mariadb -u example-user
... 其中 some-mariadb 是原始 ppc64le/mariadb 容器的名称(已连接到 some-network Docker 网络)。
此镜像也可用作非 Docker 实例或远程实例的客户端:
console$ docker run -it --rm ppc64le/mariadb mariadb --host <服务器容器IP> --user example-user --password --database test
这将为您提供标准的 MariaDB 提示符。您可以通过以下命令测试:
consoleMariaDB [(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 命令允许您在运行的容器内运行命令。以下命令将为您提供 ppc64le/mariadb 容器内的 bash shell:
console$ docker exec -it some-mariadb bash
由于 MariaDB-Backup 与服务器版本高度耦合,因此在明确版本的 mariadb 容器中使用 mariadb-backup 可能很有用:
console$ docker run --volume /backup-volume:/backup --rm mariadb:10.6.15 mariadb-backup --help
日志可通过 Docker 的容器日志查看:
console$ docker logs some-mariadb
自定义配置文件应以 .cnf 结尾,并以只读方式挂载到 /etc/mysql/conf.d 目录。这些文件应包含针对您的应用程序/环境所需的 MariaDB 工作负载的最小更改。MariaDB 配置文件将包含 [mariadb] 组,后跟 variable = value 设置,具体参见 设置服务器系统变量 或 option-prefix-variable。
ppc64le/mariadb 镜像配置包含 Ubuntu MariaDB 变量,并对容器进行了两项自定义更改:
host-cache-size=0skip-name-resolve这些更改禁用了

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务