Docker Wordpress插件的持久性或映射到本地插件

我正在运行最新的Docker mac应用,并在我的项目目录中创建了一个新的docker-compose.yml。 (这是我的wordpress主题)。

Docker Wordpress插件的持久性或映射到本地插件


这是我下面的配置docker-compose.yml文件...

version: '3.7'

networks:
  wordpress:
    ipam:
      config:
        - subnet: 172.25.0.0/16

services:
  db:
    image: mysql:5.7
    volumes:
      - ./db:/var/lib/mysql:delegated
    ports:
      - "3306:3306"
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    networks:
      - wordpress

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    volumes:
      - .:/var/www/html/wp-content/themes/testing:delegated
    ports:
      - "80:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_AUTH_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
      WORDPRESS_SECURE_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
      WORDPRESS_LOGGED_IN_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
      WORDPRESS_NONCE_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
      WORDPRESS_SECURE_AUTH_SALT: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
      WORDPRESS_LOGGED_IN_SALT: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
      WORDPRESS_NONCE_SALT: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
      WORDPRESS_DEBUG: 1
    networks:
      - wordpress


到目前为止,我发现它很棒。我在使数据库保持持久性方面遇到一些问题,并且弄清楚wp-content文件夹需要将所有者设置为www-data

但是修复了以上问题之后,它的工作情况非常好,如果我docker-compose downup我的数据库是持久性的。另外,我的数据库已从本地主题中撤出。


让我失望的是,如果我docker-compose down
docker-compose rm,我的plugins文件夹会自行重置。

我可以通过某种方式从Mac或项目主题文件夹映射本地文件夹吗?然后,我可以将插件存储在此处,以便docker-compose up -d记住我的插件时。

任何想法都很棒。


例如,我可以将plugins文件夹放在本地主题文件夹项目中...

Docker Wordpress插件的持久性或映射到本地插件



已解决!

因为我正在运行本地dev,npm,composer等。我的目标是保持一个真正简单的文件夹结构,因此我的主题是在phpStorm中进行项目开发的路径。

我现在通过添加以下体积映射(请参见下面的代码)在主题路由项目文件夹中添加了用于本地持久数据的插件和上载文件夹。

这不是您经典的Wordpress结构,但是我没有将pluginsuploads提交给版本控制或登台服务器环境。这些纯粹是用于我的本地持久性数据,以防万一docker-compose down

立即查看我的phpStorm项目结构...

Docker Wordpress插件的持久性或映射到本地插件

查看我的docker-compose.yml配置文件...

version: '3.7'

networks:
  wordpress:
    ipam:
      config:
        - subnet: 172.25.0.0/16

services:
  db:
    image: mysql:5.7
    volumes:
      - ./db:/var/lib/mysql:delegated
    ports:
      - "3306:3306"
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    networks:
      - wordpress

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    volumes:
      - .:/var/www/html/wp-content/themes/testing:delegated
      - ./plugins:/var/www/html/wp-content/plugins
      - ./uploads:/var/www/html/wp-content/uploads
    ports:
      - "80:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_AUTH_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
      WORDPRESS_SECURE_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
      WORDPRESS_LOGGED_IN_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
      WORDPRESS_NONCE_KEY: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
      WORDPRESS_SECURE_AUTH_SALT: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
      WORDPRESS_LOGGED_IN_SALT: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
      WORDPRESS_NONCE_SALT: 5f6ede1b94d25a2294e29eeba929a8c80a5ac0fb
      WORDPRESS_DEBUG: 1
    networks:
      - wordpress


感谢@Ludi Sistemaš的帮助。


sibo36158 回答:Docker Wordpress插件的持久性或映射到本地插件

是的,有办法。首先,您需要重新排列目录结构。 在主机上,使用主题目录作为安装点。假设您要这样做。 在主机上创建新目录,并将其命名为wp-content。现在您可以在docker-compose文件中仅编辑此行,该文件需要移至此wp-content目录中。

   volumes:
       - .:/var/www/html/wp-content/  

将主题放入wp-content / themes。 它应该与服务器上的位置完全一样。 注意:所有其他wp默认目录结构将在该安装点上重新创建,并且将保持不变。

编辑:  聊了一会后,我了解了OP的需求。  为了从该架构挂载另一个目录。您将需要指向正确的路径并按以下方式进行安装:

volumes:
  - .:/var/www/html/wp-content/themes/testing:delegated
  - ./plugins:/var/www/html/wp-content/plugins
本文链接:https://www.f2er.com/3072798.html

大家都在问