本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

MariaDB Docker容器镜像,无需特定用户或root权限即可运行,提供便捷的MariaDB数据库部署方案。
.tmpl格式配置文件会自动替换其中的环境变量version: '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: # 命名卷定义
docker 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429