centos/mariadb本镜像是基于CentOS7构建的MariaDB容器化解决方案,用于简化MariaDB数据库的部署与管理。通过Docker容器化技术,实现MariaDB服务的快速启动、配置与扩展,同时支持数据持久化存储,确保数据库内容在镜像更新时不丢失。
/var/lib/mysql,实现数据与应用分离,便于镜像更新与维护MYSQL_ROOT_PASSWORD)MYSQL_DATABASE)MYSQL_USER)MYSQL_CHARSET)MYSQL_COLLATION)确保已安装Docker环境,可通过以下命令检查Docker版本:
bash# docker version
bash# docker build --rm --tag <yourname>/mariadb55 .
bash# docker images
直接启动容器,将数据库存储于容器内部(镜像更新时数据会丢失):
bash# docker run --name=mariadb -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=<password> <yourname>/mariadb
通过数据卷容器分离存储目录,实现数据持久化:
bash# docker run --name=mariadb-data -v /var/lib/mysql <yourname>/mariadb55 true
bash# docker run --name=mariadb -d -p 3306:3306 --volumes-from=mariadb-data -e MYSQL_ROOT_PASSWORD=<password> <yourname>/mariadb55
启动容器时可通过以下环境变量自定义数据库配置:
| 环境变量 | 说明 |
|---|---|
MYSQL_ROOT_PASSWORD | 设置root用户密码(必填) |
MYSQL_DATABASE | 初始化额外数据库 |
MYSQL_USER | 创建额外数据库用户 |
MYSQL_CHARSET | 指定数据库字符集 |
MYSQL_COLLATION | 指定数据库排序规则 |
示例:创建名为testdb的数据库,用户testuser,字符集utf8mb4:
bash# docker run --name=mariadb -d -p 3306:3306 --volumes-from=mariadb-data -e MYSQL_ROOT_PASSWORD=<password> -e MYSQL_DATABASE=testdb -e MYSQL_USER=testuser -e MYSQL_CHARSET=utf8mb4 <yourname>/mariadb55
通过mysql客户端连接容器内的MariaDB服务:
bash# mysql --protocol=tcp -u root -p<password>
若未通过环境变量设置密码,初始默认密码为mysqlPassword,建议启动后立即修改:
bash# mysqladmin --protocol=tcp -u root -pmysqlPassword password <new_password>
创建测试表:
sqlCREATE TABLE test ( name VARCHAR(10), owner VARCHAR(10), species VARCHAR(10), birth DATE, death DATE );

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