如何利用 Docker 运行 WordPress

2025-06-09

如何利用 Docker 运行 WordPress

🚀先决条件

你需要安装🐳 Docker。Docker的安装方式很大程度上取决于你的操作系统。

🤔选择我们的形象

可以在此处找到 WordPress Docker 镜像

我们将使用它作为我们的基础图像并对其进行扩展。

🚀使用 docker-compose 构建我们的镜像

首先,我们创建一个新文件夹。在本教程中,
我将在 中创建一个d:/dev/名为 的文件夹wordpress
在那里,我们创建一个名为 的文件。docker-compose.yml
复制并粘贴以下内容到该文件中:

version: '3.1'

services:

  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb

  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'

🤔这个docker-compose.yml文件在做什么?

它将创建两个服务。第一个wordpress服务是我们的 Docker 镜像,其中预装了 PHP 和 WordPress。WordPress 需要 PHP 才能运行。我们告诉 Docker 它应该在 8080 端口上运行,并environment告诉 WordPress 它应该使用什么数据库凭据。

我们的第二个服务是一个mysql服务器,我们称之为db。WordPress 需要一个数据库来存储数据。在 中,我们指定了数据库凭据。这必须与服务environment中的凭据相同,因为 WordPress 需要这些凭据来登录并创建正确的数据才能运行 WordPress。最后一个是附加的,它将创建一个随机的 root 用户密码。wordpressenvironmentenvironment

现在我们只需要在我们的wordpress文件夹中运行 docker-compose up。

docker-compose up

Docker 将下载镜像并尝试启动它们。这可能需要几分钟。请耐心等待。

现在您只需浏览http://localhost:8080即可看到 WordPress 提示设置新实例。

🚀挂载docker文件夹

我们目前的设置存在一个问题。当你想安装 WordPress 插件时,WordPress 会要求你输入 FTP 用户名。我们真的不希望出现这种情况。

另一个问题是如何编辑 WordPress 配置、主题或插件?

我们需要挂载才能更改wp-config.php文件。
那么如何访问它呢?

一种方法是直接通过 ssh 进入容器,但这不是我们这里要做的事情。我们将把 WordPress 文件夹挂载到主机系统中。

首先,我们需要在文件夹html中创建一个文件夹wordpress。其次,我们需要更新docker-compse.yml文件。
现在看起来应该是这样的:

  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes: 
      - "D:/dev/wordpress/html:/var/www/html"

我们刚刚在 WordPress 服务中添加了两行代码。
第一行是volumes。卷是一种简便的方法,可以像处理系统上的本地文件一样处理 Docker 镜像中的文件。

      - "D:/dev/wordpress/html:/var/www/html"

这一行内容如下:/var/www/htmldocker 容器中的文件夹中包含的内容。获取它并使其在 中可见且可编辑D:/dev/wordpress/html

对我来说D:/dev/wordpress/html,这招很管用。你可以把它放在任何你想放的地方。

ctrl+c现在只需按下终端即可停止 docker-compose 进程,
然后再次运行它。

docker-compose up

现在,您d:/dev/wordpress/html应该可以看到 WordPress 文件。只需打开wp-config.php并在define( 'DB_NAME', 'exampledb');

/* Make WordPress install plugins directly */
define('FS_METHOD', 'direct');

另外,通过这种方法,现在可以轻松编辑 WordPress 主题和插件。它们位于 wp-content 文件夹中。是不是很棒?

🚀安装一些 WordPress 插件所需的 PHP 扩展

一些 WordPress 插件需要 PHP 扩展。基础wordpress镜像已经安装了一些,但你可能需要更多。为此,我们需要创建自己的 docker 镜像。在这里我们将安装memcachedPHP 扩展。

Dockerfile在文件夹中创建一个名为的新文件wordpress。添加以下内容并保存:

FROM wordpress
RUN apt-get update
RUN apt-get install -y libz-dev libmemcached-dev && \
    pecl install memcached && \
    docker-php-ext-enable memcached

在这行中,我们告诉 Docker 以我们之前使用的FROM镜像为基础构建我们的镜像。 第一个命令表示我们要更新正在使用的 Linux 发行版的软件包。在此之前,每个扩展都应该相同。 第二个命令特定于。它安装所需的 Linux 软件包,然后启用 PHP 扩展。如果您需要其他扩展,只需在 Google 上简单搜索该扩展即可。可能有人已经用 Docker 安装了这个扩展,并且已经弄清楚了需要哪些 Linux 软件包。wordpress
RUN
RUNmemcached

好的,我们只需要使用以下命令构建新包:

docker build -t wordpress_with_extra_extension .

耶!你刚刚构建了一个新的 docker 镜像!很酷吧?
现在我们只需要告诉我们的docker-compose.yml文件使用该镜像

  ...
  wordpress:
    image: wordpress
  ...


  ...
  wordpress:
    image: wordpress_with_extra_extension
  ...

就这样!现在只需停下脚步,奔跑docker-compose up,就可以出发了!

感谢阅读!

打招呼! Instagram | Twitter | LinkedIn | Medium

鏂囩珷鏉ユ簮锛�https://dev.to/lampewebdev/how-to-get-wordpress-running-with-docker-4mg6
PREV
👓💻 如何在 Node.js 服务之间建立 Websocket 连接
NEXT
CSS 速查:quotes 属性和 q HTML 标签