本镜像基于CentOS7构建,提供MariaDB数据库服务。其构建参考了Stephen Tweedie的MariaDB Dockerfile,旨在通过容器化方式快速部署MariaDB环境。
该镜像已过时(Deprecated),官方推荐使用替代镜像:centos/mariadb-101-centos7。建议现有用户迁移至推荐镜像以获取更好的兼容性和安全性支持。
适用于开发或测试环境中快速搭建MariaDB数据库服务,不推荐用于生产环境。
/var/lib/mysql目录,避免容器更新导致数据丢失(推荐生产环境使用)。centos/mariadb-101-centos7镜像。docker version命令验证。从源码构建镜像(需先获取Dockerfile):
bashdocker build --rm --tag <yourname>/mariadb55 .
构建完成后,通过docker images命令确认镜像存在。
2.1 快速启动(不推荐生产环境)
直接启动容器,数据存储于容器内部(容器删除后数据丢失):
bashdocker run --name=mariadb -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=<password> <yourname>/mariadb55
--name=mariadb:指定容器名称为mariadb。-d:后台运行容器。-p 3306:3306:映射容器3306端口至主机3306端口(主机端口可自定义)。-e MYSQL_ROOT_PASSWORD=<password>:设置MariaDB root用户密码(必填)。2.2 推荐启动(数据卷持久化)
通过数据卷容器分离存储数据,确保容器更新或删除后数据不丢失。
步骤1:创建数据卷容器
数据卷容器仅用于挂载数据卷,无需运行:
bashdocker run --name=mariadb-data -v /var/lib/mysql <yourname>/mariadb55 true
--name=mariadb-data:指定数据卷容器名称。-v /var/lib/mysql:将容器内/var/lib/mysql目录定义为数据卷(持久化存储数据库文件)。步骤2:启动MariaDB容器(挂载数据卷)
bashdocker run --name=mariadb -d -p 3306:3306 \ --volumes-from=mariadb-data \ # 挂载数据卷容器中的数据卷 -e MYSQL_ROOT_PASSWORD=<password> \ # 必选:设置root密码 [ -e MYSQL_DATABASE=<dbname> ] \ # 可选:创建额外数据库 [ -e MYSQL_USER=<username> ] \ # 可选:创建额外用户(需配合MYSQL_PASSWORD使用,原文未提及,建议补充密码变量) [ -e MYSQL_CHARSET=<charset> ] \ # 可选:指定数据库字符集(如utf8mb4) [ -e MYSQL_COLLATION=<collation> ] \ # 可选:指定数据库排序规则(如utf8mb4_general_ci) <yourname>/mariadb55
| 环境变量名 | 作用描述 | 是否必填 |
|---|---|---|
MYSQL_ROOT_PASSWORD | 设置MariaDB root用户的初始密码 | 是 |
MYSQL_DATABASE | 启动时自动创建指定名称的数据库 | 否 |
MYSQL_USER | 启动时自动创建指定名称的数据库用户(需配合密码变量使用,建议补充MYSQL_PASSWORD) | 否 |
MYSQL_CHARSET | 指定数据库默认字符集(如utf8mb4) | 否 |
MYSQL_COLLATION | 指定数据库默认排序规则(如utf8mb4_general_ci) | 否 |
4.1 连接数据库
通过mysql客户端工具连接容器内MariaDB(需确保主机3306端口已映射):
bashmysql --protocol=tcp -u root -p<password>
-u root:使用root用户登录(或指定MYSQL_USER创建的用户)。-p<password>:指定密码(-p与密码间无空格)。4.2 修改初始密码
建议首次登录后修改root密码(若通过MYSQL_ROOT_PASSWORD设置了自定义密码,可跳过此步骤):
bashmysqladmin --protocol=tcp -u root -p<old_password> password <new_password>
4.3 示例:创建数据库表
登录数据库后,可执行标准SQL命令操作,例如创建测试表:
sqlCREATE TABLE test ( name VARCHAR(10), owner VARCHAR(10), species VARCHAR(10), birth DATE, death DATE );
centos/mariadb-101-centos7。MYSQL_ROOT_PASSWORD为必填项,请勿使用弱密码,建议通过环境变量文件或密钥管理工具注入密码,避免明文暴露。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务