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

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

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

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

📋 前置条件

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

🚀 第一步:创建项目目录

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

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

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

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

💡 注意:请务必修改示例中的 MYSQL_ROOT_PASSWORDWORDPRESS_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 反向代理,只需开放 80443 端口。
    • 如果直接访问,需开放 8080(或 80)端口。
  3. 性能优化

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

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

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

首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/484057.html

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

相关推荐

  • 国外主机域名解析怎么做,国外主机解析失败怎么办?

    构建具有国际竞争力的网站,核心在于底层基础设施的优化配置,服务器地理位置的选择与域名系统的精准解析,直接决定了网站的访问速度、稳定性及搜索引擎抓取效率,对于面向全球用户的企业或个人开发者而言,合理利用海外资源,能够突破地域限制,实现业务的全球化布局,这不仅是技术层面的选择,更是网络营销战略中的关键一步,国外主机……

    2026年2月25日
    15100
  • 宝塔企业版899元/年值得买吗,宝塔专业版永久授权价格

    宝塔企业版899元/年与专业版1988元永久授权是2026年中小企业降本增效的最优解,前者适合高频迭代的云端业务,后者适合追求数据主权与长期稳定性的本地化部署场景,新春伊始,服务器运维的预算规划往往被搁置,但技术架构的稳定性却不容许任何“新年新气象”的试错成本,对于正在寻找服务器管理面板的开发者与企业IT负责人……

    2026年7月7日
    8400
  • aspx网站如何改html5并配置CORS实现跨域访问OBS

    将ASPX网站迁移至HTML5并配置CORS以访问OBS,核心在于后端移除ASP.NET默认的安全限制,并在前端HTML5请求头中正确设置Origin与Access-Control-Allow-Origin匹配,从而实现跨域资源共享,很多开发者在从传统的ASP.NET Web Forms(.aspx)向现代前端……

    2026年6月13日
    3310
  • Android新闻服务器怎么搭建?Android开发教程

    构建高效、稳定且可扩展的新闻资讯应用,核心在于服务端架构的科学规划与Android客户端的性能优化,一套成熟的Android新闻服务器方案,必须能够支撑高并发访问、实现毫秒级内容分发,并确保数据传输的安全性与一致性,这不仅是技术架构的胜利,更是用户体验的基石,在移动互联网流量红利见顶的今天,服务器端的响应速度直……

    2026年3月28日
    10400
  • 酷番云老版2核免费升4核是真的吗?2核4g8mbps轻量云服务器升级攻略

    腾讯云近期确实推出了轻量应用服务器配置升级活动,部分符合条件的老版本2核4G实例可免费升级至4核4G,带宽保持8Mbps不变,这是降低建站与开发成本的绝佳窗口期,对于许多长期关注云计算性价比的用户来说,这次调整不仅仅是一次简单的参数变动,更是一次重新评估基础设施成本的契机,在2026年的今天,随着AI应用边缘化……

    2026年7月8日
    19900
  • Android蓝牙App怎么开发?Ionic开发Android蓝牙教程

    在移动开发领域,结合原生蓝牙能力与跨平台框架的优势,是提升开发效率与保障用户体验的最佳路径,Ionic Android App构建过程中,实现稳定、高效的蓝牙通信功能,核心在于正确运用蓝牙低功耗(BLE)协议,并通过Ionic Native插件桥接原生Android SDK,从而克服跨平台调用底层硬件的性能损耗……

    2026年3月23日
    9700
  • 香港CN2月付8折20元起值得买吗,VPS服务器推荐

    Pia云凭借香港CN2 GIA、洛杉矶三网GIA及深圳BGP优质线路,以极具竞争力的月付低价和免费DDoS防御,成为2026年追求高性价比与稳定网络环境的用户首选方案,在云服务器市场内卷日益严重的当下,选择一款既便宜又稳定的VPS并非易事,许多用户面临两难:便宜的线路卡顿,稳定的线路昂贵,Pia云通过细分市场需……

    2026年6月28日
    1100
  • 六一云互联服务器活动靠谱吗?香港洛杉矶云服务器租用价格

    针对2026年需要低延迟、高防护及稳定跨境业务的用户,直接选择“四周年专供”香港安畅高配云或洛杉矶超防节点,是平衡性能与成本的最优解,在云计算市场进入存量竞争阶段的2026年,单纯的价格战已无法体现服务价值,用户更关注的是在复杂网络环境下的实际体验,本次六一云互联推出的特供方案,并非简单的促销,而是针对特定业务……

    2026年6月29日
    1610
  • CYUN蓝米美国CERA云服务器好用吗,美国云服务器推荐

    CYUN蓝米数据提供的美国CERA云服务器,凭借CN2 GIA三网优化线路,以35元/月的极低门槛,为国内用户提供了稳定且高速的跨境建站与开发环境,选择海外服务器往往让人头疼,尤其是面对复杂的网络延迟和昂贵的带宽费用,CYUN蓝米数据这款主打性价比的产品,通过整合CN2 GIA优质线路,解决了“贵”和“慢”两大……

    2026年6月28日
    1600
  • AI学习体系如何构建会计知识?

    AI学习体系与会计体系的融合并非简单的工具叠加,而是通过自动化处理基础核算、智能化辅助决策分析,重构会计人员从“账房先生”向“数据分析师”转型的核心路径,AI重塑会计职业底层逻辑传统会计工作长期被困在凭证录入、发票核对和报表生成的重复性劳动中,这种模式不仅效率低下,还容易因人为疏忽导致数据偏差,随着人工智能技术……

    2026年6月10日
    3300

发表回复

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