这很奇怪,所以请耐心等待。
我的本地计算机上有一堆 WordPress 网站用于开发。我将 Docker 与两个容器 php:8.2-apache 和 mariadb 结合使用,我也将其用作本地主机。
当我在浏览器中查看站点时,站点加载正常,但是如果我使用主机上安装的 wp-cli,它将无法连接到数据库。在我拥有的测试站点的
wp-config.php
文件中,我有 define( 'DB_HOST, 'database' );
,它可以在浏览器中运行。
我需要在主机上安装 wp-cli,这样我就可以使用它而无需使用
docker exec
。
这是我的
docker-compose.yml
文件:
services:
webserver:
build: ./webserver
container_name: webserver
ports:
- "80:80"
- "443:443"
volumes:
- ~./sites:/var/www/html
networks:
- wordpress-network
depends_on:
- database
database:
image: mariadb
container_name: database
ports:
- "3306:3306"
volumes:
- ./db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=password
expose:
- 3306
networks:
- wordpress-network
networks:
wordpress-network:
driver: bridge
任何帮助将不胜感激。
我也尝试过
define( 'DB_HOST', '127.0.0.1' );
和 define( 'DB_HOST', 'host.docker.internal' );
但没有任何方法可以修复 wp-cli 的数据库连接错误。
您必须从 apache docker 容器运行 wp-cli。