我正在使用 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.yaml 看起来像这样:
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 up、build 和 down,但一切都是一样的。
最佳答案
官方的 WordPress docker 镜像会使用你设置的环境变量自动配置 wp-config.php [ documentation ]。
如果有任何变量如WORDPRESS_DB_HOST
、WORDPRESS_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
它使用环境变量中设置的值更新文件。
关于Wordpress wp-config.php 不会在 Dockers 中更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45560659/