
tobi312/rpi-mariadbMariaDB是全球最流行的数据库服务器之一,由MySQL原开发团队创建,确保开源特性。其显著用户包括***、星展银行(DBS Bank)和ServiceNow等。MariaDB旨在保持与MySQL的高度兼容性,确保库二进制等效性以及与MySQL API和命令的精确匹配,同时持续开发新功能并优化性能。
本镜像为MariaDB(MySQL分支)的Docker镜像,支持amd64、arm64及arm架构(如树莓派),基于官方Linux发行版镜像构建,适用于需要在多架构环境中部署MariaDB的场景,尤其针对arm架构设备提供适配支持。
| 标签 | Dockerfile链接 | 基础系统 |
|---|---|---|
10.6-alpine | Dockerfile | Alpine Linux 3.17 |
10.6-ubuntu | Dockerfile | Ubuntu 22.04 LTS (Jammy) |
10.11-alpine | Dockerfile | Alpine Linux 3.18 |
10.11-debian | Dockerfile | Debian 12 (bookworm) |
注意:对于amd64和arm64架构,建议优先使用基于Ubuntu的官方MariaDB镜像。
apk、Ubuntu/Debian的apt)。通过以下命令快速启动MariaDB容器:
shdocker run --name some-mariadb \ -v $(pwd)/mariadb:/var/lib/mysql:rw \ # 挂载数据卷(持久化数据) -p 3306:3306 \ # 映射端口(主机:容器) -e MARIADB_ROOT_PASSWORD=my-secret-pw \ # 设置root密码 -d tobi312/rpi-mariadb:10.6-alpine # 指定镜像及标签
说明:更多高级用法可参考官方MariaDB镜像文档。
创建docker-compose.yml文件,配置如下:
yamlversion: '2.4' services: mariadb: image: tobi312/rpi-mariadb:10.6-alpine # 镜像及标签 container_name: mariadb # 容器名称 restart: unless-stopped # 重启策略(除非手动停止) volumes: - ./mariadb-data:/var/lib/mysql:rw # 数据卷(主机目录:容器目录) environment: TZ: Europe/Berlin # 时区设置 # MARIADB_RANDOM_ROOT_PASSWORD: "yes" # 随机生成root密码(二选一) MARIADB_ROOT_PASSWORD: my-secret-pw # root用户密码 MARIADB_DATABASE: user-database # 初始化数据库名称 MARIADB_USER: example-user # 初始化普通用户 MARIADB_PASSWORD: my_cool_secret # 普通用户密码 ports: - 3306:3306 # 端口映射
启动服务:
shdocker compose up -d
完整示例:参见GitHub仓库docker-compose.yml。
通过-v参数挂载数据卷至容器内/var/lib/mysql目录,确保容器重启或重建后数据不丢失。建议使用主机绝对路径或命名卷(如mariadb-data:/var/lib/mysql)。
| 环境变量 | 说明 |
|---|---|
MARIADB_ROOT_PASSWORD | 设置root用户密码(必填,除非使用MARIADB_RANDOM_ROOT_PASSWORD)。 |
MARIADB_RANDOM_ROOT_PASSWORD | 随机生成root密码,密码会输出至容器日志(与MARIADB_ROOT_PASSWORD二选一)。 |
MARIADB_DATABASE | 初始化时自动创建的数据库名称。 |
MARIADB_USER | 初始化时创建的普通用户名(需配合MARIADB_PASSWORD使用)。 |
MARIADB_PASSWORD | 普通用户MARIADB_USER的密码。 |
TZ | 设置容器时区(如Asia/Shanghai),避免日志时间偏差。 |
docker logs some-mariadbdocker exec -it some-mariadb bashdocker exec -it some-mariadb mysql -uroot -p(输入root密码)docker stop some-mariadb && docker rm some-mariadbchmod 777临时测试,生产环境建议细化权限)。MARIADB_RANDOM_ROOT_PASSWORD随机生成密码,并限制端口映射范围(如仅绑定本地IP:-p 127.0.0.1:3306:3306)。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务