【问题标题】:Run existing Wordpress site using Docker使用 Docker 运行现有的 Wordpress 站点
【发布时间】:2016-07-25 20:08:53
【问题描述】:

我想在 Docker 上运行我现有的 Wordpress 站点以进行本地开发。

这是我的 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 docker-compose


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      并调整涉及“wp”目录的自定义设置。 Wordpress 需要特定的目录结构,因此根据您拆分文件的原因,您可能无法使用默认容器,也可能无法使用。以这种方式使用它的好处是您可以通过更新容器来更新 WP,并且您的所有文件都受到保护。

      如果您的需求过于定制,如前所述,您可以尝试使用 WP Dockerfile 并根据您的需要进行编辑,但如果您可以使用标准的 wp-content 结构,这将使事情更易于管理和维护。

      【讨论】:

      • 是的,我认为修改 DockerFile 是最好的做法!
      【解决方案3】:

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

      【讨论】:

      • 我的代码已经这样做了吗?问题是它还创建了一堆我不使用的文件夹。
      猜你喜欢
      • 2021-03-21
      • 2011-12-14
      • 1970-01-01
      • 2019-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多