我想通过自定义wp-config文件将docker mysql服务连接到docker wordpress服务。这似乎很简单,但是我找不到直接的答案。
我只想知道在wp-config.php文件中键入什么作为此声明的值:
define( 'DB_HOST', what_do_i_type_here );
我已经能够通过主机上的0.0.0.0:3307
进行连接,并且可以使用wordpress图像环境变量WORDPRESS_DB_HOST
等进行连接,但是我无法弄清楚如何通过wp-config文件手动连接。
这些是我尝试过的一些主机:
0.0.0.0:3307
127.0.0.1:3307
172.23.0.1:3307
docker.for.mac.localhost:3307
host.docker.internal:3307
这是我的docker-compose:
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
ports:
- "3307:3306"
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
links:
- db:mysql
volumes:
- ./wp-content:/var/www/html/wp-content
- ./wp-config.php:/var/www/html/wp-config.php
- ./wp-blog-header.php:/var/www/html/wp-blog-header.php
restart: always
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
links:
- db:mysql
ports:
- "8009:80"
environment:
MYSQL_USERNAME: wordpress
MYSQL_ROOT_PASSWORD: somewordpress
volumes:
db_data: {}
这是我的wp-config文件中的配置:
# Database Configuration
define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wordpress' );
define( 'DB_PASSWORD', 'wordpress' );
define( 'DB_HOST', '0.0.0.0:3307' );
// define( 'DB_HOST_SLAVE', '127.0.0.1' );
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', 'utf8_unicode_ci');
答案 0 :(得分:1)
看看此页面: Networking in compose
每个容器都可以通过其主机名访问另一个。
您可以在wp-config.php文件中使用define( 'DB_HOST', db:3306 );
。