从自定义wordpress配置文件连接到mysql docker服务

问题描述 投票:-1回答:1

我想通过自定义的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');

wordpress docker docker-compose
1个回答
1
投票

看看这个页面:Networking in compose

每个容器都可以通过其主机名到达另一个容器。您可以在wp-config.php文件中使用define( 'DB_HOST', db:3306 );

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