Wordpress wp-config.php在Dockers中没有更新?

问题描述 投票:5回答:3

我正在使用Wordpress和docker容器。问题是我更新了wp-config.php文件,但一切看起来都一样。我有这样的事情:

CONTAINER ID        IMAGE                   NAMES
b2711d4b72a1        phpmyadmin/phpmyadmin   website_phpmyadmin_1
8a89ee46d673        wordpress:4.7.5         website_wordpress_1
2a167667f705        mysql:5.7               website_db_1

我的docker-compose.yml看起来像这样:

version: '2'
services:
wordpress:
depends_on:
  - db
image: wordpress:4.7.5
restart: always
volumes:
  - ./wp-content:/var/www/html/wp-content 
environment:
  WORDPRESS_DB_HOST: db:3306
  WORDPRESS_DB_PASSWORD: p4ssw0rd!
ports:
  - 80:80
  - 443:443
networks:
  - back
  db:
    image: mysql:5.7
    restart: always
    volumes:
       - db_data:/var/lib/mysql
    environment:
  MYSQL_ROOT_PASSWORD: p4ssw0rd!
networks:
  - back
  phpmyadmin:
    depends_on:
       - db
    image: phpmyadmin/phpmyadmin
    restart: always
    ports:
      - 8080:80
    environment:
      PMA_HOST: db
      MYSQL_ROOT_PASSWORD: p4ssw0rd!
        networks:
      - back
     networks:
       back:
      volumes:
  db_data:

我已经运行了docker-compose,build和down但是一切都是一样的。

wordpress docker docker-compose docker-container docker-image
3个回答
8
投票

官方的WordPress docker镜像将使用您设置的环境变量[documentation]自动配置wp-config.php。

如果有任何变量,如WORDPRESS_DB_HOSTWORDPRESS_DB_PASSWORD等,它们将用于在容器创建时构建wp-config.php文件。

如果要提供自定义wp-config.php文件,则需要确保没有相关的环境变量,并为修改后的文件创建卷映射,如下所示:

version: '2'
...
volumes:
  - ./wp-content:/var/www/html/wp-content 
  - ./wp-config.php:/var/www/html/wp-config.php
...

docker-compose up上,Docker会将你的自定义wp-config.php加载到容器中,然后运行WordPress图像的docker-entrypoint.sh,它使用环境变量中设置的值更新文件。


1
投票

您可以使用WORDPRESS_CONFIG_EXTRA环境变量来定义wp-config.php文件中的任何其他配置值。

举个例子:

WORDPRESS_CONFIG_EXTRA: |
  define('WP_ALLOW_MULTISITE', true );
  define('MULTISITE', true);
  define('SUBDOMAIN_INSTALL', false);

0
投票

诀窍:

wp:
  image: wordpress:latest
  ports:
    - 80:80
  volumes:
    - ./wp-content:/var/www/html/wp-content
    - ./wp-config.php:/usr/src/wordpress/wp-config-sample.php

当本地wp-config.php发生变化时你应该从容器中删除/var/www/html/wp-config.php,docker会再次复制它......但是它有效!

© www.soinside.com 2019 - 2024. All rights reserved.