Docker怎么安装WordPress?docker部署wordpress详细步骤

在 Docker 上部署 WordPress 是最推荐的方式之一,因为它环境隔离、易于迁移、备份方便,且能轻松实现数据库与网站程序的分离。

以下是使用 Docker Compose 安装 WordPress 的完整教程,这是目前最标准、最稳定的部署方式。

保姆级搭建wordpress博客教程(docker版)
加载中
保姆级搭建wordpress博客教程(docker版)

📋 前置条件

  1. 已安装 Docker Engine 和 Docker Compose。
    • 检查命令:docker --version 和 docker compose version
  2. 一台服务器(Linux 推荐 Ubuntu/CentOS,或本地开发环境)。
  3. 一个域名(可选,但生产环境强烈建议配置 HTTPS)。

🚀 第一步:创建项目目录

在服务器上创建一个专门用于存放 WordPress 文件的目录:

mkdir ~/my-wordpress
cd ~/my-wordpress

📝 第二步:创建 docker-compose.yml 文件

在该目录下创建一个名为 docker-compose.yml 的文件。

💡 注意:请务必修改示例中的 MYSQL_ROOT_PASSWORD 和 WORDPRESS_DB_PASSWORD 为强密码!

version: '3.8'
services:
  # WordPress 服务
  wordpress:
    image: wordpress:latest
    container_name: wordpress_app
    restart: always
    ports:
      - "8080:80"  # 将主机的 8080 端口映射到容器的 80 端口
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: 你的数据库密码  # ⚠️ 请修改此处
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wordpress_data:/var/www/html  # 持久化网站文件
    depends_on:
      - db
  # MySQL 数据库服务
  db:
    image: mysql:8.0
    container_name: wordpress_db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 你的根密码  # ⚠️ 请修改此处
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: 你的数据库密码  # ⚠️ 请修改此处
    volumes:
      - db_data:/var/lib/mysql  # 持久化数据库数据
# 定义卷,用于数据持久化
volumes:
  wordpress_data:
  db_data:

Docker怎么安装WordPress?docker部署wordpress详细步骤

关键配置说明:

  • ports: - "8080:80":表示通过访问 http://你的IP:8080 来访问网站,如果你希望直接用 http://你的IP 访问,可以改为 "80:80"(需确保主机 80 端口未被占用)。
  • volumes:这是 Docker 的核心优势,即使容器删除,数据(网站图片和数据库)依然保留在宿主机上。

▶️ 第三步:启动 WordPress

在 docker-compose.yml 所在目录下,运行以下命令启动服务:

docker compose up -d
  • up:启动服务
  • -d:后台运行(detached mode)

启动成功后,你会看到类似输出:

[+] Running 3/3
 ✔ Network my-wordpress_default  Created
 ✔ Container wordpress_db        Started
 ✔ Container wordpress_app       Started

🌐 第四步:通过浏览器安装 WordPress

  1. 打开浏览器,访问:http://你的服务器IP:8080
  2. 选择语言,点击“继续”。
  3. 填写站点标题、管理员用户名、密码和邮箱。
  4. 点击“安装 WordPress”。
  5. 登录后台,开始使用!

🔧 第五步:(可选)配置 Nginx 反向代理 + HTTPS(生产环境推荐)

直接暴露端口给公网不安全,建议使用 Nginx 作为反向代理,并配置 SSL 证书。

安装 Nginx 容器

在同一目录下创建 nginx.conf:

server {
    listen 80;
    server_name yourdomain.com; # 替换为你的域名
    # 重定向 HTTP 到 HTTPS
    return 301 https://$host$request_uri;
}
server {
    listen 443 ssl http2;
    server_name

Docker怎么安装WordPress?docker部署wordpress详细步骤

yourdomain.com; # 替换为你的域名 ssl_certificate /etc/nginx/ssl/fullchain.pem; # 替换为你的证书路径 ssl_certificate_key /etc/nginx/ssl/privkey.pem; # 替换为你的私钥路径 location / { proxy_pass http://wordpress:80; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }

更新 docker-compose.yml

添加 Nginx 服务,并移除 WordPress 的 ports 映射(因为现在由 Nginx 代理):

version: '3.8'
services:
  wordpress:
    image: wordpress:latest
    container_name: wordpress_app
    restart: always
    # 移除 ports: - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: 你的数据库密码
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wordpress_data:/var/www/html
    depends_on:
      - db
  db:
    image: mysql:8.0
    container_name: wordpress_db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 你的根密码
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: 你的数据库密码
    volumes:
      - db_data:/var/lib/mysql
  nginx:
    image: nginx:latest
    container_name: wordpress_nginx
    restart: always
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/default.conf
      - ./ssl:/etc/nginx/ssl  # 挂载证书目录
    depends_on:
      - wordpress
volumes:
  wordpress_data:
  db_data:

准备 SSL 证书

使用 Certbot 获取免费 SSL 证书,并将证书文件放入 ssl 目录:

# 示例:假设你已安装 certbot
certbot certonly --standalone -d yourdomain.com
# 然后将证书复制到项目目录
mkdir -p ssl
cp /etc/letsencrypt/live/yourdomain.com/fullchain.pem ./ssl/
cp /etc/letsencrypt/live/yourdomain.com/privkey.pem ./ssl/

Docker怎么安装WordPress?docker部署wordpress详细步骤

重启服务

docker compose down
docker compose up -d

你可以通过 https://yourdomain.com 安全访问你的 WordPress 网站。


🛠️ 常用维护命令

操作 命令
查看日志 docker compose logs -f
停止服务 docker compose down
启动服务 docker compose up -d
更新 WordPress 镜像 docker compose pull docker compose up -d
进入 WordPress 容器 docker exec -it wordpress_app bash
进入数据库容器 docker exec -it wordpress_db bash

⚠️ 重要注意事项

  1. 数据备份:

    • WordPress 文件存储在 wordpress_data 卷中。
    • 数据库存储在 db_data 卷中。
    • 定期备份这两个目录! 可以使用 tar 命令打包备份。
  2. 防火墙设置:

    • 如果使用 Nginx 反向代理,只需开放 80 和 443 端口。
    • 如果直接访问,需开放 8080(或 80)端口。
  3. 性能优化:

    • 生产环境建议为 MySQL 配置专用内存限制。
    • 使用 Redis 作为对象缓存(需额外添加 Redis 服务)。
  4. 安全性:

    • 不要使用默认密码。
    • 定期更新 Docker 镜像。
    • 启用 HTTPS。

通过以上步骤,你已经成功在 Docker 上部署了一个安全、可维护的 WordPress 网站!🎉

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.idctop.com/article/484057.html

赞 (0)
服务器建立网站主机怎么操作?服务器租用多少钱一个月
上一篇 2026年7月12日 00:31
Python中iconify怎么用?python调用iconify图标库
下一篇 2026年7月12日 00:34

相关推荐

  • 唯稳盾CDN的WAF和DDoS防御效果如何,哪个CDN防护最好?

    唯稳盾CDN:全方位网络安全防护专家在数字化业务高速发展的今天,网络安全已成为企业生存的生命线,唯稳盾CDN 致力于为全球用户提供顶级的网络加速与安全防护服务,确保您的业务在任何攻击环境下都能稳定运行,核心服务优势全方位攻击防护:提供覆盖国内外的全面防护能力,有效抵御各类网络威胁,企业级WAF:部署高强度Web……

    2026年7月12日
    6700
  • 如何读写Linux分区?Linux分区格式转换方法

    在Linux系统中读写NTFS或exFAT分区,最稳定且无需额外安装复杂驱动的方案是使用NTFS-3G或exfat-fuse工具,而追求极致性能则需考虑FUSE框架下的用户态文件系统或内核级补丁,很多用户在将Windows硬盘接入Linux环境时,常遇到“只读”报错或挂载失败的问题,这并非硬件故障,而是文件系统……

    2026年7月10日
    16800
  • HostDare美国VPS好用吗?2026年高性价比美国VPS推荐

    这是一份关于 HostDare 美国洛杉矶 KVM VPS 的详细评测与分析,基于你提供的参数($20.79/年、512MB 内存、10GB NVMe、500GB 流量、200Mbps 端口),以下是从性价比、性能预期、适用场景及潜在风险四个维度的深度解析:核心参数解读价格 ($20.79/年):极度低廉,平均……

    2026年7月12日
    4700
  • cdn加速服务器多少钱一台,手机端价格?

    CDN加速服务器没有按“一台手机”的定价方式,个人或小网站使用CDN加速,月费用通常在几十元到几百元之间,具体取决于流量消耗和节点覆盖需求,CDN加速服务的定价模型搞清楚CDN价格之前,先理解它的计费方式,CDN不像买手机一样标个固定价,而是按使用量收取服务费,主流计费方式有三种,不同场景适用不同模式,流量计费……

    2026年8月24日
    100
  • 安全合规是什么意思,企业如何做好安全合规管理

    企业构建完善的安全合规体系,不仅是满足监管要求的底线动作,更是规避经营风险、提升品牌信誉度及核心竞争力的关键战略,在数字化转型的浪潮中,数据已成为核心生产要素,安全合规不再是单纯的成本投入,而是企业可持续发展的“护城河”,核心结论在于:安全合规必须从“被动防御”转向“主动治理”,通过制度、技术与管理的深度融合……

    2026年4月6日
    8100
  • 租一个500g服务器一年多少钱?,怎么收费

    租一个500G服务器一年费用通常在6000元至2万元区间,具体取决于配置、带宽和机房线路,基础配置的独享服务器(如4核CPU、8G内存、500G硬盘、5M带宽)年付价格约6000至1万元;高配置或高防御方案则可能突破2万元,服务器租金由哪些因素决定带宽与防御是成本大头带宽大小:独享5M带宽年费约2000元,升至……

    2026年7月29日
    500
  • Linux竞争产生的原因是什么,如何解决?

    Linux在竞争中的核心优势在于其开源生态与高度可定制性,无论是个人开发者还是企业团队,选择Linux意味着拥抱灵活性与成本控制,而这正是现代技术竞争的关键, 从服务器到桌面,从云计算到嵌入式设备,Linux凭借其稳定性、安全性和社区驱动的发展模式,在多个技术领域占据主导地位,理解Linux的竞争格局,能帮助你……

    2026年7月22日
    400
  • lpr linux命令怎么用,是什么?

    LPR(Line Printer Remote)是 Linux 系统中最经典的打印命令之一,用于向打印机提交打印任务,支持本地和远程打印,在 CUPS 为主流的今天,LPR 依然作为标准接口被广泛支持,是系统管理员必须掌握的工具,它源自 BSD 系统,设计简洁,不依赖现代打印子系统也能独立工作,无论你管理的是老……

    2026年7月22日
    1400
  • 国外CDN云存储备份失败怎么办,如何解决连接超时?

    遇到国外cdn云存储备份失败时,核心原因通常归结为跨国网络链路的不稳定性、API接口调用限制以及存储桶权限配置的疏漏,解决这一问题不能仅依赖简单的手动重试,而必须构建一套具备自动容错、断点续传及多层冗余机制的自动化备份架构,通过优化传输协议、精细化管理配额以及实施异地多活策略,可以将备份成功率提升至99.9%以……

    2026年3月1日
    15500
  • 傲游主机8折VPS月付40元是真的吗,香港CN2+BGP线路怎么选

    傲游主机凭借香港Cera机房与荃湾CN2+BGP线路的硬核优势,配合长期8折优惠及月付40-60元的亲民价格,成为追求低延迟与高稳定性用户的优选方案,在服务器租赁市场,价格战早已不是唯一的竞争维度,对于开发者、跨境电商卖家以及独立博客运营者而言,稳定的网络链路和极具性价比的计费模式才是核心痛点,傲游主机近期推出……

    2026年6月30日
    1600

发表回复

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