运行 现有 Wordpress 网站使用 Docker

Run existing Wordpress site using Docker

我想 运行 我现有的 Wordpress 网站 Docker 用于本地开发。

这是我的 docker-compose 文件:

version: '2'
services:
  mysql:
    image: mysql:5.7
    volumes:
      - "./.data/db:/var/lib/mysql"
    ports:
      - "9306:3306"
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example_password
      MYSQL_DATABASE: example_database_name

  wordpress:
    image: wordpress
    volumes:
      - "./:/var/www/html"
    links:
      - mysql
    ports:
      - "80:80"
    restart: always
    environment:
      WORDPRESS_DB_PASSWORD: example_password
      WORDPRESS_DB_NAME: example_database_name

但是,我对官方 Wordpress Docker 图像的问题是它坚持安装 Wordpress。如果您没有安装 Wordpress,这很好,但如果已经安装,则会导致很多问题。这尤其令人沮丧,因为我组织了我的文件夹,所以所有内部 wordpress 文件都在一个名为 "wp" 的单独文件夹中,"wp-content" 在一个单独的目录中。

所以我的问题是如何使用 Docker.

运行 我的 现有 Wordpress 网站

作为一般性建议,您应该能够将源作为卷安装在覆盖现有单个文件或完整目录的路径上,以便根据您的需要定制容器。

使用官方 Wordpress 映像,Docker 将启动一个使用 Debian 作为基本系统的容器,安装了 apache、php 和 wordpress。如果您不喜欢它,您可以通过创建 Dockerfile 来创建您的自定义图像。您可以丢弃不需要的任何组件。

如果你想使用官方镜像,你最好的选择是挂载 wp-content 目录而不是整个 www 目录,比如:

-v /path/to/my/blog/wp-content:/var/www/html/wp-content

并调整涉及 "wp" 目录的自定义设置。 Wordpress 需要特定的目录结构,因此根据您分解文件的原因,您可能会或可能不会使用默认容器。以这种方式使用它的好处是,您只需更新容器即可更新 WP,并且您的所有文件都将受到保护。

如果您的需求过于自定义,如前所述,您可以尝试使用 WP Dockerfile 并进行编辑以满足您的需求,但如果您可以使用标准的 wp-content 结构,它会让事情变得更好更易于管理和维护。