
Devilbox MySQL系列镜像是Devilbox项目提供的容器化数据库解决方案,支持Percona、MySQL、MariaDB等主流关系型数据库系统。该系列镜像基于官方精简基础镜像构建,专为开发环境优化,旨在提供快速部署、版本一致且配置灵活的数据库服务,适用于本地开发、团队协作及容器化部署场景。
启动MySQL实例
bashdocker run -d \ --name devilbox-mysql \ -e MYSQL_ROOT_PASSWORD=dev_root_pass \ # 必选:root用户密码 -e MYSQL_DATABASE=dev_project_db \ # 可选:初始化时创建的数据库 -e MYSQL_USER=dev_user \ # 可选:创建普通用户 -e MYSQL_PASSWORD=dev_user_pass \ # 可选:普通用户密码 -v mysql-data:/var/lib/mysql \ # 数据持久化(命名卷) -p 3306:3306 \ # 端口映射(宿主机:容器) devilbox/mysql:8.0 # 指定MySQL 8.0版本
启动MariaDB实例
bashdocker run -d \ --name devilbox-mariadb \ -e MYSQL_ROOT_PASSWORD=dev_root_pass \ -v $(pwd)/local-data:/var/lib/mysql \ # 数据持久化(宿主机目录) -p 3306:3306 \ devilbox/mariadb:10.6 # 指定MariaDB 10.6版本
启动Percona实例
bashdocker run -d \ --name devilbox-percona \ -e MYSQL_ROOT_PASSWORD=dev_root_pass \ -e MYSQL_DATABASE=percona_test \ -p 3306:3306 \ devilbox/percona:8.0 # 指定Percona 8.0版本
yamlversion: '3.8' services: db: image: devilbox/mysql:8.0 container_name: devilbox-mysql restart: always environment: MYSQL_ROOT_PASSWORD: dev_root_pass MYSQL_DATABASE: app_db MYSQL_USER: app_user MYSQL_PASSWORD: app_pass volumes: - mysql-data:/var/lib/mysql - ./custom-my.cnf:/etc/mysql/conf.d/custom.cnf # 挂载自定义配置 ports: - "3306:3306" networks: - dev-network volumes: mysql-data: # 命名卷自动创建 networks: dev-network: driver: bridge
环境变量
| 环境变量 | 说明 | 默认值 | 是否必填 |
|---|---|---|---|
MYSQL_ROOT_PASSWORD | 设置root用户密码 | 无 | 是 |
MYSQL_DATABASE | 容器启动时自动创建的数据库名称 | 无 | 否 |
MYSQL_USER | 创建的普通用户名(需配合MYSQL_PASSWORD使用) | 无 | 否 |
MYSQL_PASSWORD | 普通用户密码(需配合MYSQL_USER使用) | 无 | 否 |
MYSQL_ALLOW_EMPTY_PASSWORD | 允许root用户使用空密码(仅开发环境建议,生产环境禁用) | no | 否 |
MYSQL_RANDOM_ROOT_PASSWORD | 自动生成随机root密码(日志中输出) | no | 否 |
MYSQL_ONETIME_PASSWORD | 将root密码设置为一次性密码(首次登录需修改) | no | 否 |
数据持久化
通过-v参数挂载数据卷,确保容器删除或重启后数据不丢失:
-v mysql-data:/var/lib/mysql(Docker管理卷生命周期)-v /path/on/host:/var/lib/mysql(手动管理宿主机目录权限)自定义配置
通过挂载my.cnf配置文件覆盖默认设置:
bash-v /path/to/custom/my.cnf:/etc/mysql/conf.d/custom.cnf
配置文件示例(调整连接数与缓存):
ini[mysqld] max_connections = 500 innodb_buffer_pool_size = 256M query_cache_size = 0 # MySQL 8.0已移除query_cache,需根据版本调整
镜像标签格式为devilbox/<数据库类型>:<版本号>,支持的主要标签:
devilbox/mysql:5.6, devilbox/mysql:5.7, devilbox/mysql:8.0devilbox/mariadb:10.3, devilbox/mariadb:10.4, devilbox/mariadb:10.6, devilbox/mariadb:10.11devilbox/percona:5.7, devilbox/percona:8.0可通过https://hub.docker.com/r/devilbox/mysql%E6%9F%A5%E7%9C%8B%E5%AE%8C%E6%95%B4%E7%89%88%E6%9C%AC%E5%88%97%E8%A1%A8%E3%80%82

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务