Сервисы Docker не связаны - WordPress не подключается к MySQL - PullRequest
0 голосов
/ 20 января 2019

Это буквально мой первый раз, когда я использую Docker. У меня есть сайт WordPress, и я использовал https://phpdocker.io/ для генерации некоторых файлов, включая docker-compose.yml

Я поместил содержимое пакета в корень моего проекта, а затем попытался запустить docker-compose up -d, и я могу подключиться к MySQL, где я загружаю свой дамп SQL, и затем я иду на http://localhost,, но он говорит, что «Соединение не может быть установлено ", при включении отладки я получаю:

Предупреждение: mysqli_real_connect (): (HY000 / 2002): такого файла или каталога в /application/wp-includes/wp-db.php в строке 1531 нет. Ошибка при установлении соединения с базой данных

Я добавил links, но это не помогло. Вот как выглядит мой docker-compose.yml:

    ###############################################################################
#                          Generated on local                                 #
###############################################################################
version: "3.1"
services:

  redis:
    image: redis:alpine
    container_name: local-wordpress-redis

  mysql:
    image: mysql:5.7
    container_name: local-wordpress-mysql
    working_dir: /application
    volumes:
      - .:/application
    command: --max_allowed_packet=32505856
    environment:
      - MYSQL_ROOT_PASSWORD=mypass
      - MYSQL_DATABASE=local
      - MYSQL_USER=orbuser
      - MYSQL_PASSWORD=mypass
    ports:
      - "3306:3306"

  webserver:
    image: nginx:alpine
    container_name: local-wordpress-webserver
    working_dir: /application
    volumes:
      - .:/application
      - ./local/nginx/nginx.conf:/etc/nginx/conf.d/default.conf
    ports:
      - "80:80"
    links:
      - mysql
      - redis

  php-fpm:
    build: local/php-fpm
    container_name: local-wordpress-php-fpm
    working_dir: /application
    volumes:
      - .:/application
      - ./local/php-fpm/php-ini-overrides.ini:/etc/php/7.2/fpm/conf.d/99-overrides.ini
    links:
      - mysql
      - redis

wp-config.php

<?php
define('WP_CACHE', true); // Added by W3 Total Cache

define('DB_NAME', 'local');
define('DB_USER', 'orbuser');
define('DB_PASSWORD', 'mypass');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8mb4');
define('DB_COLLATE', '');

define('AUTH_KEY',         'xx');
define('SECURE_AUTH_KEY',  'xx');
define('LOGGED_IN_KEY',    'xx');
define('AUTH_SALT',        'xx');
define('SECURE_AUTH_SALT', 'xx');
define('LOGGED_IN_SALT',   'xx');
define('NONCE_SALT',       'xx');

$table_prefix  = 'ftom_';

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);

if ( !defined('ABSPATH') )
    define('ABSPATH', '/');

require_once(ABSPATH . 'wp-settings.php');

1 Ответ

0 голосов
/ 20 января 2019

DB_HOST должен быть установлен на имя контейнера: mysql.В данный момент ваш WordPress ищет базу данных в своем цикле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...