通过Docker部署WordPress

前提条件

  1. 已安装Docker
  2. 已安装Docker Compose
  3. 已有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 进行安装

检查文件上传配置

  1. 登录 WordPress 后台 → 媒体 → 添加新文件
  2. 页面底部会显示 “最大上传文件大小:64 MB”(数值与配置一致即生效)

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部