MariaDB Docker容器镜像,无需特定用户或root权限即可运行,提供便捷的MariaDB数据库部署方案。
.tmpl格式配置文件会自动替换其中的环境变量yamlversion: '3.5' services: mariadb: image: aerzas/mariadb:11-latest environment: MYSQL_DATABASE: sampledb # 初始化数据库名称 MYSQL_ROOT_PASSWORD: 3x@mplE # root用户密码 MYSQL_USER: sampledb # 普通用户名 MYSQL_USER_PASSWORD: sampledb # 普通用户密码 ports: - '3306:3306' # 映射数据库端口 volumes: - database:/var/lib/mysql # 数据持久化卷 healthcheck: test: ["CMD", "/scripts/docker-healthcheck.sh"] # 健康检查命令 interval: 30s # 检查间隔 timeout: 1s # 超时时间 retries: 3 # 重试次数 start_period: 30s # 启动等待时间 volumes: database: # 命名卷定义
bashdocker run -d \ --name mariadb \ -e MYSQL_DATABASE=sampledb \ -e MYSQL_ROOT_PASSWORD=3x@mplE \ -e MYSQL_USER=sampledb \ -e MYSQL_USER_PASSWORD=sampledb \ -p 3306:3306 \ -v database:/var/lib/mysql \ --health-cmd "/scripts/docker-healthcheck.sh" \ --health-interval 30s \ --health-timeout 1s \ --health-retries 3 \ --health-start-period 30s \ aerzas/mariadb:11-latest
数据库数据默认存储在容器内/var/lib/mysql目录,可通过以下方式实现持久化:
database卷,由Docker管理存储路径-v /path/on/host:/var/lib/mysql挂载主机目录(需确保目录权限正确)可将自定义配置文件挂载到/etc/mysql/my.cnf.d/目录,补充或覆盖默认配置:
custom.cnf)将直接生效.tmpl格式文件(如custom.cnf.tmpl)会自动替换其中的环境变量后生效首次运行时,若/var/lib/mysql目录为空(无数据库),将执行以下初始化操作:
MYSQL_DATABASE创建指定名称的数据库MYSQL_ROOT_PASSWORD设置root用户密码(未提供时自动生成随机密码)MYSQL_USER和MYSQL_USER_PASSWORD创建普通用户,并授予该用户对MYSQL_DATABASE的全部权限| 变量名 | 默认值 | 说明 |
|---|---|---|
MYSQL_CLIENT_DEFAULT_CHARACTER_SET | utf8mb4 | 客户端默认字符集 |
| 变量名 | 默认值 | 说明 |
|---|---|---|
MYSQL_DATABASE | 无 | 初始化数据库名称 |
MYSQL_ROOT_PASSWORD | 无 | root用户密码(未提供时自动生成) |
MYSQL_USER | 无 | 普通用户名 |
MYSQL_USER_PASSWORD | 无 | 普通用户密码 |
| 变量名 | 默认值 | 说明 |
|---|---|---|
MARIADB_TLS_VERSION | TLSv1.2,TLSv1.3 | 支持的TLS协议版本 |
MARIADB_SSL_CERT | 无 | SSL证书文件路径 |
MARIADB_SSL_KEY | 无 | SSL密钥文件路径 |
MARIADB_SSL_CA | 无 | SSL CA证书文件路径 |
| 变量名 | 默认值 | 说明 |
|---|---|---|
MYSQL_BACK_LOG | 100 | 积压连接队列大小 |
MYSQL_CHARACTER_SET_FILESYSTEM | utf8mb4 | 文件系统字符集 |
MYSQL_CHARACTER_SET_SERVER | utf8mb4 | 服务器默认字符集 |
MYSQL_COLLATION_SERVER | utf8mb4_unicode_ci | 服务器默认排序规则 |
MYSQL_CONNECT_TIMEOUT | 10 | 连接超时时间(秒) |
MYSQL_DEFAULT_STORAGE_ENGINE | InnoDB | 默认存储引擎 |
MYSQL_GENERAL_LOG | 0 | 是否启用通用日志(0=禁用,1=启用) |
MYSQL_INIT_CONNECT | SET NAMES utf8mb4 | 连接初始化SQL语句 |
MYSQL_INNODB_BUFFER_POOL_INSTANCES | 1 | InnoDB缓冲池实例数量 |
MYSQL_INNODB_BUFFER_POOL_SIZE | 128M | InnoDB缓冲池大小 |
MYSQL_INNODB_DATA_FILE_PATH | ibdata1:12M:autoextend:max:10G | InnoDB数据文件路径及大小限制 |
MYSQL_INNODB_DEFAULT_ROW_FORMAT | dynamic | InnoDB默认行格式 |
MYSQL_INNODB_FAST_SHUTDOWN | 1 | InnoDB快速关闭模式 |
MYSQL_INNODB_FILE_PER_TABLE | 1 | 每个表使用独立表空间 |
MYSQL_INNODB_FLUSH_LOG_AT_TRX_COMMIT | 2 | 事务日志刷新策略 |
MYSQL_INNODB_FLUSH_METHOD | O_DIRECT | InnoDB刷新方法 |
MYSQL_INNODB_FORCE_LOAD_CORRUPTED | 0 | 是否强制加载损坏的表 |
MYSQL_INNODB_FORCE_RECOVERY | 0 | InnoDB恢复模式 |
MYSQL_INNODB_IO_CAPACITY | 200 | InnoDB IO容量(每秒IO操作数) |
MYSQL_INNODB_LOCK_WAIT_TIMEOUT | 50 | InnoDB锁等待超时时间(秒) |
MYSQL_INNODB_LOG_BUFFER_SIZE | 8M | InnoDB日志缓冲区大小 |
MYSQL_INNODB_LOG_FILE_SIZE | 128M | InnoDB日志文件大小 |
MYSQL_INNODB_LOG_FILES_IN_GROUP | 2 | InnoDB日志文件组数量 |
MYSQL_INNODB_OLD_BLOCKS_TIME | 1000 | InnoDB旧块保留时间(毫秒) |
MYSQL_INNODB_OPEN_FILES | 1024 | InnoDB打开文件数限制 |
MYSQL_INNODB_PURGE_THREADS | 4 | InnoDB清理线程数量 |
MYSQL_INNODB_READ_IO_THREADS | 4 | InnoDB读IO线程数量 |
MYSQL_INNODB_STATS_ON_METADATA | OFF | 是否在元数据查询时更新统计信息 |
MYSQL_INNODB_STRICT_MODE | OFF | 是否启用InnoDB严格模式 |
MYSQL_INNODB_WRITE_IO_THREADS | 4 | InnoDB写IO线程数量 |
MYSQL_INTERACTIVE_TIMEOUT | 420 | 交互式连接超时时间(秒) |
MYSQL_JOIN_BUFFER_SIZE | 8M | 连接缓冲区大小 |
MYSQL_LOG_WARNINGS | 2 | 警告日志级别 |
MYSQL_LONG_QUERY_TIME | 2 | 慢查询阈值(秒) |
MYSQL_MAX_ALLOWED_PACKET | 256M | 最大允许数据包大小 |
MYSQL_MAX_CONNECT_ERRORS | *** | 最大连接错误次数 |
MYSQL_MAX_CONNECTIONS | 100 | 最大并发连接数 |
MYSQL_MAX_HEAP_TABLE_SIZE | 16M | 内存表最大大小 |
MYSQL_NET_READ_TIMEOUT | 90 | 网络读超时时间(秒) |
MYSQL_NET_WRITE_TIMEOUT | 90 | 网络写超时时间(秒) |
MYSQL_OPTIMIZER_PRUNE_LEVEL | 1 | 优化器剪枝级别 |
MYSQL_OPTIMIZER_SEARCH_DEPTH | 62 | 优化器搜索深度 |
MYSQL_PERFORMANCE_SCHEMA | OFF | 是否启用性能模式 |
MYSQL_QUERY_CACHE_LIMIT | 1M | 查询缓存单条记录限制 |
MYSQL_QUERY_CACHE_MIN_RES_UNIT | 4K | 查询缓存最小分配单位 |
MYSQL_QUERY_CACHE_SIZE | 128M | 查询缓存大小 |
MYSQL_QUERY_CACHE_TYPE | ON | 查询缓存类型 |
MYSQL_RELAY_LOG_RECOVERY | 0 | 是否启用中继日志恢复 |
MYSQL_SLOW_QUERY_LOG | OFF | 是否启用慢查询日志 |
MYSQL_SORT_BUFFER_SIZE | 2M | 排序缓冲区大小 |
MYSQL_TABLE_DEFINITION_CACHE | 400 | 表定义缓存大小 |
MYSQL_TABLE_OPEN_CACHE | 4096 | 表打开缓存大小 |
MYSQL_THREAD_CACHE_SIZE | 75 | 线程缓存大小 |
MYSQL_TMP_TABLE_SIZE | 16M | 临时表最大大小 |
MYSQL_WAIT_TIMEOUT | 420 | 非交互式连接超时时间(秒) |
| 变量名 | 默认值 | 说明 |
|---|---|---|
MYSQL_DUMP_MAX_ALLOWED_PACKET | 1G | mysqldump最大允许数据包大小 |

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429