【问题标题】:Default configuration for WordPress Docker ContainerWordPress Docker 容器的默认配置
【发布时间】:2017-08-27 09:52:07
【问题描述】:

我目前正在使用 WordPress API 进行一个项目。

这是我的 docker-compose.yml 文件:

version: '3.1'

services:
  wordpress:
    image: wordpress
    volumes:
      - ./volumes/wordpress/:/var/www/html
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_PASSWORD: root
    depends_on:
      - mysql

  mysql:
    image: mysql:5.7
    volumes:
      - ./volumes/mysql/:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: root

  web:
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - ./src/:/src
    ports:
      - 8081:8081
    depends_on:
      - wordpress

为了使用 WordPress API,我需要通过转到http://localhost:8080/wp-admin 并更改一些设置来手动配置 WordPress 容器。

问题是,我需要更改此设置自动,因为每次我删除 volume 文件夹以重置 WordPress 内容,它也 删除设置

知道如何实现这一目标吗?

【问题讨论】:

    标签: wordpress docker docker-compose


    【解决方案1】:

    我猜通过 wp-admin 部分配置的所有设置都存储在数据库中。

    如果是这样的话,你可以这样做:

    1. 通过运行 docker-compose 并完成设置步骤来设置第一个 WordPress 实例。
    2. 停止撰写。此时,在 mysql 卷文件夹中,您有一个数据库结构,其中配置了 wordpress。
    3. 将文件夹的内容存储在某处。

    现在,如果您想创建另一个 WordPress 实例,您可以编辑 docker-compose.yml 文件以调整卷绑定并确保 mysql 卷的初始内容包含您从上面第 3 步获得的数据.

    当您启动新的 docker-compose 堆栈时,它将从一个填充的数据库开始,您应该有一个预配置的 WordPress 实例。

    【讨论】:

    • 非常感谢。您确实是对的,设置存储在数据库中。我在 docker-compose up 运行的第一个转储文件中进行了转储,然后在我的 docker-compose.yml 文件中使用它来提供初始设置。
    【解决方案2】:

    您需要找到包含您正在更改的设置的文件/文件夹。

    启动容器,进行更改并将设置文件备份到您的主机中:

    docker cp <container-name>:<path-to-settings> .

    然后您可以创建一个自定义映像,将默认设置替换为您复制到主机的备份设置。

    FROM wordpress
    COPY <settings-from-host> <settings-path-in-container>
    

    【讨论】:

      猜你喜欢
      • 2016-02-13
      • 1970-01-01
      • 2016-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-11
      • 1970-01-01
      相关资源
      最近更新 更多