一个「开箱即用」的极简 MariaDB 容器镜像,专为 WordPress 及通用 PHP 应用优化。 基于 Alpine Linux,体积仅 70 MB,启动秒级完成。
MARIADB_ROOT_PASSWORD、MARIADB_DATABASE、MARIADB_USER、MARIADB_PASSWORD)--performance-schema=ON 开启镜像标签格式:micrograils/wp-mariadb:<ALPINE_VERSION> (例如 3.23)
<ALPINE_VERSION> 即基础镜像 Alpine Linux 的版本号docker exec <容器> mariadb -V 查看当前内置版本docker run -d \
--name wp-mariadb \
-p 3306:3306 \
-e MARIADB_ROOT_PASSWORD=rootpass \
-e MARIADB_DATABASE=wordpress \
-e MARIADB_USER=wpuser \
-e MARIADB_PASSWORD=wppass \
micrograils/wp-mariadb:latest
连接测试:
mysql -uwpuser -pwppass -h127.0.0.1 -P3306 -e "SHOW DATABASES;"
docker run -d \
--name wp-mariadb \
-p 3306:3306 \
-e MARIADB_ROOT_PASSWORD=rootpass \
-e MARIADB_DATABASE="wp1,wp2,wp3" \
-e MARIADB_USER=wpuser \
-e MARIADB_PASSWORD=wppass \
micrograils/wp-mariadb:latest
mysql -uwpuser -pwppass -h127.0.0.1 -P3306 -e "SHOW DATABASES;"
将 SQL 或 Shell 脚本放入 /docker-entrypoint-initdb.d/,仅在首次启动(数据目录为空)时执行一次。
目录结构示例:
host-init/
├── 01-wordpress.sql
├── 02-create-view.sh
└── 03-load-dump.sql
运行:
docker run -d --name db \
-v $PWD/host-init:/docker-entrypoint-initdb.d:ro \
-e MARIADB_ROOT_PASSWORD=rootpass \
-p 3306:3306 \
micrograils/wp-mariadb:latest
执行顺序:按文件名字典序,.sql 直接导入,.sh 如果本身是可执行文件,则直接执行,否则通过 sh 执行。
docker volume create dbdata
docker run -d --name db \
-v dbdata:/var/lib/mysql \
-e MARIADB_ROOT_PASSWORD=rootpass \
-p 3306:3306 \
micrograils/wp-mariadb:latest
首次挂载空卷 → 自动初始化; 再次启动 → 直接挂载旧数据,跳过初始化。
services:
db:
image: micrograils/wp-mariadb:latest
container_name: wp-db
restart: unless-stopped
environment:
MARIADB_ROOT_PASSWORD: rootpass
MARIADB_DATABASE: wordpress
MARIADB_USER: wpuser
MARIADB_PASSWORD: wppass
volumes:
- dbdata:/var/lib/mysql
ports:
- "3306:3306"
volumes:
dbdata:
| 变量 | 说明 | 默认值 |
|---|---|---|
MARIADB_ROOT_PASSWORD | 必填 root 用户密码 | 空 |
MARIADB_DATABASE | 每次启动都会尝试创建(可逗号分隔多库),不覆盖已有库 | 空 |
MARIADB_USER | 应用用户名称 | 空 |
MARIADB_PASSWORD | 应用用户密码,省略时默认使用 MARIADB_USER 的值 | 空 |
Q:连接时提示「Access denied for user 'xxx'@'172.17.0.1'」?
A:确保你通过 TCP(-h127.0.0.1 -P3306)连接;镜像已默认开放 0.0.0.0。用户授权范围是 %,容器外可连。
Q:performance_schema 默认没有? A:Alpine 官方包编译时关闭,节省内存。
Q:/docker-entrypoint-initdb.d 里的脚本重复执行吗? A:仅在首次启动(数据目录为空)时执行一次;后续挂载旧卷会自动跳过。
gitee 仓库 遇到问题或需要新功能,欢迎提 Issue / PR!
micrograils/wp-mariadb 让数据库像搭积木一样简单。
Content type
Image
Digest
sha256:fbfdd77d1…
Size
71.5 MB
Last updated
3 months ago
docker pull micrograils/wp-mariadb