s390x/mariadb注意: 这是 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外

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