【DevOps实战篇】使用Portainer启动WordPress CMS堆栈应用

2025-03-25T14:41:46+08:00 | 4分钟阅读 | 更新于 2025-03-25T14:41:46+08:00

Macro Zhao

【DevOps实战篇】使用Portainer启动WordPress CMS堆栈应用

@TOC

推荐超级课程:

WordPress CMS 运行在不同的环境中。如果你使用的是 Docker,Portainer 是一个很好的用户界面来管理 Docker 环境。这意味着你可以使用 Portainer 来安装和运行你的 WordPress CMS。

在本指南中,你将学习如何使用 Portainer 安装并准备就绪 WordPress。你将学习:

  • 如何设置 Portainer
  • 使用 Portainer stack 来运行 WordPress 和 MySQL。
  • 安装并访问在 Portainer 上运行的 WordPress。

使用 Portainer 安装 WordPress 的要求

在使用 WordPress Portainer 设置之前,请确保:

  • 你的计算机上已经安装并运行了 Docker

  • 对 WordPress 和 Docker 有基本的了解。

什么是 Portainer

Portainer 是一个用于管理 Docker 环境的容器管理工具。它提供了直观的用户界面。通过 Portainer,你可以轻松部署、管理和监控容器和容器集群。

Portainer 支持像 Docker Desktop、Docker Swarm 和 Kubernetes 这样的 Docker 环境。

使用 Portainer 安装 WordPress 的理由

你可以直接使用 Docker 来运行 WordPress 站点。那为什么要使用 Portainer 安装 WordPress 呢?

  • Portainer 具有身份验证和访问控制功能,提高了安全性。
  • Portainer 从单一界面管理所有容器。为整个 WordPress stack 提供集中控制。
  • 你不需要编写复杂的 Docker Compose 命令。

步骤1: 如何为 WordPress 设置 Portainer

在创建 Portainer 容器时,我喜欢使用 Docker Compose。这可以使你更好地控制容器。继续创建一个 docker-compose.yml 文件,并创建一个 Portainer Docker 容器来运行 Portainer Community Edition,示例如下:

version: '3.9'

services:
  portainer:
    # 使用这个 Portainer Community Edition 基础镜像
    image: portainer/portainer-ce  
    # 在这里为你的容器分配一个名称
    container_name: portainer 
    restart: always  
    ports:
      - "9000:9000"  
    volumes:
      # 用于 Docker API 访问(套接字)的卷
      - /var/run/docker.sock:/var/run/docker.sock 
      # 挂载 Portainer 卷
      - portainer_data:/data  
volumes:
  portainer_data:

在包含 docker-compose.yml 文件的路径下,运行以下命令来运行容器:

docker compose up -d

如何设置 portainer for WordPress

如果执行上述命令,你应该准备好 Portainer 容器:

docker ps

如何设置 portainer for WordPress

步骤2: 如何访问 Portainer

现在,打开 http://your_server_ip:9000http://localhost:9000。你应该看到 Portainer 运行中:

如何设置 portainer for WordPress

添加一个新用户以访问仪表板,如下:

如何设置 portainer for WordPress

现在,选择 Get Started 来访问 Portainer 并添加本地 Docker 环境:

如何设置 portainer for WordPress

一旦你点击上面的本地环境,你就已经准备好在下一步中运行 WordPress 的仪表板:

如何设置 portainer for WordPress

步骤3: 使用 Portainer 安装 WordPress

WordPress 使用 WordPress 镜像和一个 SQL 数据库。在这种情况下是 MySQL。这意味着你只能使用 Docker Compose 与 Portainer 一起运行 WordPress。

然而,使用 Portainer 你不需要创建 Docker Compose 文件和运行 Docker 命令。你只需要使用 Portainer UI 来运行整个 WordPress stack。

一旦 WordPress 运行起来,你将需要一个 GUI 来访问 MySQL。我将使用 Portainer 来运行 PhpMyAdmin。

现在,使用以下 WordPress MySQL stack:

version: '3.9'

services:
  wordpress:
    image: wordpress:latest
    ports:
      # 将 WordPress 暴露在端口 8080 上
      - "8080:80"
    environment:
      # 设置 WordPress 连接到 MySQL 数据库
      WORDPRESS_DB_HOST: mysql_db
      WORDPRESS_DB_NAME: wordpress_db
      WORDPRESS_DB_USER: wordpress_user
      WORDPRESS_DB_PASSWORD: wordpress_password
    volumes:
      # 挂载本地目录用于 WordPress 文件
      - "./wordpress:/var/www/html"
      # 挂载用于持久 WordPress 数据的卷
      - wordpress_data:/var/www/html
    depends_on:
      - mysql_db
    networks:
      - portainer_network

  mysql_db:
    image: mysql:5.7
    environment:
      # 设置 MySQL 数据库和用户凭据
      MYSQL_DATABASE: wordpress_db
      MYSQL_USER: wordpress_user
      MYSQL_PASSWORD: wordpress_password
      MYSQL_ROOT_PASSWORD: root_password
    volumes:
      # 挂载用于持久 MySQL 数据的卷
      - db_data:/var/lib/mysql
    networks:
      - portainer_network

  phpmyadmin:
    image: phpmyadmin/phpmyadmin:latest
    ports:
      # 将 PHPMyAdmin 暴露在端口 8181 上
      - "8181:80"
    depends_on:
      - mysql_db
    environment:
      # 设置 PHPMyAdmin 连接到 MySQL 数据库
      PMA_HOST: mysql_db
      PMA_USER: root
      MYSQL_ROOT_PASSWORD: root_password
    networks:
      - portainer_network

networks:
  portainer_network:

volumes:
# WordPress 数据的持久体积
  wordpress:
  wordpress_data: 
  db_data: # MySQL 数据的持久体积

去 Portainer 运行 WordPress。你将看到以下 Stack 部分:

使用 Portainer 安装 WordPress

为你的新 Stack WordPress 命名:

使用 Portainer 安装 WordPress

现在,使用 Portainer Web Editor,添加上述 WordPress Docker Compose Stack 如下 (添加 MySQL、WordPress 和 PhpMyAdmin):

使用 Portainer 安装 WordPress

最后,去到动作,并 部署 Stack:

使用 Portainer 安装 WordPress

你需要给 Portainer 一些时间来拉取所有 WordPress 设置并运行容器。

步骤4: 访问 Portainer 上的 WordPress

一旦 Stack 部署完成,Portainer 会指引你进入创建的 Stack 如下:

访问 Portainer 上的 WordPress

进入容器部分,确保所有 Portainer WordPress 服务都在运行:

访问 Portainer 上的 WordPress

步骤5: 使用 Portainer 安装 WordPress CMS

所有的服务都在运行。要安装 WordPress,打开浏览器的端口 8080 (http://localhost:8080/). 你应该看到 WordPress 如下:

访问 Portainer 上的 WordPress

点击 继续 并设置你的 WordPress 如下:

访问 Portainer 上的 WordPress

一旦你 安装,使用添加的细节登录,WordPress 应该已准备就绪,并与 Portainer 完美运行:

访问 Portainer 上的 WordPress

步骤6: 使用 Portainer 访问 WordPress MySQL 数据库与 PhpMyAdmin

如果你想要访问此 WordPress 的数据库主机,打开端口 8181 (http://localhost:8181/) 访问 PhpMyAdmin:

使用 PhpMyAdmin 访问 WordPress Portainer MySQL 数据库

总结

你现在有 WordPress CMS 与 Portainer 一起运行。希望你已经学会了:

  • 如何设置 Portainer。
  • 使用 Portainer stack 运行 WordPress 和 MySQL。
  • 安装并访问在 Portainer 上运行的 WordPress。

© 2011 - 2025 Macro Zhao的分享站

关于我

如遇到加载502错误,请尝试刷新😄

Hi,欢迎访问 Macro Zhao 的博客。Macro Zhao(或 Macro)是我在互联网上经常使用的名字。

我是一个热衷于技术探索和分享的IT工程师,在这里我会记录分享一些关于技术、工作和生活上的事情。

我的CSDN博客:
https://macro-zhao.blog.csdn.net/

欢迎你通过评论或者邮件与我交流。
Mail Me

推荐好玩(You'll Like)
  • AI 动·画
    • 这是一款有趣·免费的能让您画的画中的角色动起来的AI工具。
    • 支持几十种动作生成。
我的项目(My Projects)
  • 爱学习网

  • 小乙日语App

    • 这是一个帮助日语学习者学习日语的App。
      (当然初衷也是为了自用😄)
    • 界面干净,简洁,漂亮!
    • 其中包含 N1 + N2 的全部单词和语法。
    • 不需注册,更不需要订阅!完全免费!
  • 小乙日文阅读器

    • 词汇不够?照样能读日语名著!
    • 越读积累越多,积跬步致千里!
    • 哪里不会点哪里!妈妈再也不担心我读不了原版读物了!
赞助我(Sponsor Me)

如果你喜欢我的作品或者发现它们对你有所帮助,可以考虑给我买一杯咖啡 ☕️。这将激励我在未来创作和分享更多的项目和技术。🦾

👉 请我喝一杯咖啡

If you like my works or find them helpful, please consider buying me a cup of coffee ☕️. It inspires me to create and share more projects in the future. 🦾

👉 Buy me a coffee