前提条件
- 已安装Docker
- 已安装Docker Compose
- 已有MySQL数据库
创建项目目录
首先创建一个存放 WordPress 配置的目录,并进入该目录
mkdir -p /opt/wordpress && cd /opt/wordpress上传配置(可选)
默认的WordPress 的最大上传文件大小是2M,需要调整 PHP 的配置(因为上传限制由 PHP 和 WordPress 共同控制)。
在项目目录下创建PHP配置文件
新建一个php-conf文件夹,并创建 PHP 配置文件(例如uploads.ini)
mkdir -p php-conf && cd php-conf
touch uploads.ini编辑uploads.ini配置
在uploads.ini中添加以下内容(根据需求调整数值,单位为M表示兆字节)
upload_max_filesize = 64M # 限制单个上传文件的最大大小
post_max_size = 64M # 限制通过 HTTP POST 方法提交的所有数据的总大小
memory_limit = 128M # PHP内存限制,建议大于上传大小
max_execution_time = 300 # 脚本执行时间(秒),避免大文件上传超时创建docker-compose.yml文件
version: '3.8'
name: "wordpress"
services:
wordpress:
image: wordpress:latest # 使用最新版 WordPress 官方镜像
container_name: wordpress_app # 容器命名为 wordpress_app
restart: unless-stopped # 自动重启策略(除非手动停止)
ports:
- "8080:80" # 端口映射:主机8080 → 容器80
environment:
WORDPRESS_DB_HOST: ip:3306 # MySQL地址
WORDPRESS_DB_USER: wordpress_user # WordPress数据库用户名
WORDPRESS_DB_PASSWORD: wordpress_password # 数据库用户密码
WORDPRESS_DB_NAME: wordpress # 数据库名
volumes:
- wordpress_data:/var/www/html # WordPress核心文件(使用命名卷)
- ./themes:/var/www/html/wp-content/themes # 主题目录(绑定挂载)
- ./plugins:/var/www/html/wp-content/plugins # 插件目录(绑定挂载)
- ./php-conf/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini #上传配置
volumes:
wordpress_data: # 声明命名卷,用于持久化WordPress数据说明:
- 替换wordpress_user和wordpress_password为自定义用户名和密码
ports中的8080可改为其他端口(需确保端口未被占用)
启动服务
在docker-compose.yml所在目录执行以下命令启动服务
docker compose up -d检查Docker Compose日志
docker compose logs -t -f --tail 100 wordpress说明:wordpress不是容器名而是docker-compose文件的name属性(见官方文档的版本和名称顶级元素)
安装
在浏览器访问 http://ip:port/wp-admin/setup-config.php 进行安装
检查文件上传配置
- 登录 WordPress 后台 → 媒体 → 添加新文件
- 页面底部会显示 “最大上传文件大小:64 MB”(数值与配置一致即生效)
