注意: 这是 mariadb镜像 的s390x架构构建版本的"每架构"仓库。有关更多信息,请参见镜像文档中的 "除amd64之外的架构?" 和***镜像FAQ中的 "Git中的镜像源已更改,现在该怎么办?"。
MariaDB Server是世界上最受欢迎的数据库服务器之一。它由MySQL的原始开发人员创建,并保证保持开源。著名用户包括***、DBS银行和ServiceNow。其目的是保持与MySQL的高度兼容性,确保库二进制等效性以及与MySQL API和命令的精确匹配。MariaDB开发人员继续开发新功能并提高性能,以更好地为用户服务。
!logo
MariaDB基金会、MariaDB公司,以及来自社区的贡献者
s390x12.1.1-ubi10-rc, 12.1-ubi10-rc, 12.1.1-ubi-rc, 12.1-ubi-rc12.1.1-noble-rc, 12.1-noble-rc, 12.1.1-rc, 12.1-rc12.0.2-ubi10, 12.0-ubi10, 12-ubi10, 12.0.2-ubi, 12.0-ubi, 12-ubi12.0.2-noble, 12.0-noble, 12-noble, noble, 12.0.2, 12.0, 12, latest11.8.3-ubi9, 11.8-ubi9, 11-ubi9, lts-ubi9, 11.8.3-ubi, 11.8-ubi, 11-ubi, lts-ubi11.8.3-noble, 11.8-noble, 11-noble, lts-noble, 11.8.3, 11.8, 11, lts11.4.8-ubi9, 11.4-ubi9, 11.4.8-ubi, 11.4-ubi11.4.8-noble, 11.4-noble, 11.4.8, 11.410.11.14-ubi9, 10.11-ubi9, 10-ubi9, 10.11.14-ubi, 10.11-ubi, 10-ubi10.11.14-jammy, 10.11-jammy, 10-jammy, 10.11.14, 10.11, 1010.6.23-ubi9, 10.6-ubi9, 10.6.23-ubi, 10.6-ubi10.6.23-jammy, 10.6-jammy, 10.6.23, 10.6amd64arm64v8ppc64les390xs390x/mariadb镜像适用于以下场景:
s390x/mariadb有多个标签,其中latest是最新的稳定版本,lts是最新的长期支持版本。
默认情况下,容器内运行的数据库将监听3306端口。您可以使用-p 3306:3306参数将容器端口3306映射到主机端口3306:
console$ docker run --name some-mariadb -p 3306:3306 s390x/mariadb:latest
使用此镜像所需的环境变量包括设置root用户密码:
console$ docker run --detach --name some-mariadb --env MARIADB_ROOT_PASSWORD=my-secret-pw s390x/mariadb:latest
或允许空root密码:
console$ docker run --detach --name some-mariadb --env MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1 s390x/mariadb:latest
或生成随机root密码:
console$ docker run --detach --name some-mariadb --env MARIADB_RANDOM_ROOT_PASSWORD=1 s390x/mariadb:latest
生成的root密码将包含在容器日志中。
启动带有用户、密码和数据库的MariaDB实例:
console$ docker run --detach --name some-mariadb \ --env MARIADB_USER=example-user \ --env MARIADB_PASSWORD=my_cool_secret \ --env MARIADB_DATABASE=example-database \ --env MARIADB_ROOT_PASSWORD=my-secret-pw \ s390x/mariadb:latest
由于应用程序需要与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 \ s390x/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是新创建的网络,some-mariadb是分配给容器的名称,my-secret-pw是要为MariaDB root用户设置的密码。some-application及其环境变量APP_DB_HOST、APP_DB_USER和APP_DB_PASSWD是应用程序的数据库连接配置。
mariadb的示例compose.yaml:
yaml# 使用root/example作为用户/密码凭据 services: db: image: s390x/mariadb restart: always environment: MARIADB_ROOT_PASSWORD: example adminer: image: adminer restart: always ports: - 8080:8080
运行docker compose up,等待其完全初始化,然后访问http://localhost:8080或[***](视情况而定)。
以下命令启动另一个s390x/mariadb容器实例,并对原始s390x/mariadb容器运行mariadb命令行客户端,允许您对数据库实例执行SQL语句:
console$ docker run -it --network some-network --rm s390x/mariadb mariadb -h some-mariadb -u example-user
其中some-mariadb是原始s390x/mariadb容器的名称(连接到some-network Docker网络)。
此镜像也可用作非Docker或远程实例的客户端:
console$ docker run -it --rm s390x/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命令行客户端和客户端容器。
docker exec命令允许您在运行的容器内运行命令。以下命令将为您提供s390x/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所述。
s390x/mariadb镜像配置包含Ubuntu MariaDB变量,并对容器进行了两处自定义更改:
host-cache-size=0skip-name-resolve这些禁用了user@hostname用户的身份验证。要重新启用skip-name-resolve,请使用disable-skip-name-resolve作为变量或参数。启用后,host-cache-size应足以容纳连接到s390x/mariadb的容器数量。
要查看s390x/mariadb容器的最终配置:
console$ docker run --name some-mariadb -v /my/custom:/etc/mysql/conf.d --rm s390x/mariadb:latest my_print_defaults --mysqld
许多配置选项可以作为标志传递给mariadbd。这使您可以灵活地自定义容器,而无需cnf文件。例如,如果要在端口3808上运行,只需运行以下命令:
console$ docker run --name some-mariadb -e MARIADB_ROOT_PASSWORD=my-secret-pw -d s390x/mariadb:latest --port 3808
如果您想查看可用选项的完整列表,只需运行:
console$ docker run -it --rm s390x/mariadb:latest --verbose --help
启动s390x/mariadb镜像时,可以通过在docker run命令行上传递一个或多个环境变量来调整MariaDB实例的初始化。请注意,除MARIADB_AUTO_UPGRADE外

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429