Контейнер Wordpress Docker не может подключиться к контейнеру базы данных - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь перенести сайт worpdress в докер контейнер для локальной разработки.

Однако каждый раз, когда я использую docker compose, я получаю следующее:

Ошибка подключения MySQL: (1045) Доступ запрещен для пользователя'root'@'172.22.0.3'

Я дважды проверил пароли и проверил их с помощью оболочки в контейнере db.

Вот мой docker-compose файл:

services: # configuring each container
db: # name of our mysql container
image: mysql:5.7 # which image to pull, in this case specifying v. 5.7
volumes: # data to map to the container
  - ./data:/docker-entrypoint-initdb.d # where to find our data - we'll talk more about this
restart: always # always restart the container after reboot
environment: # environment variables -- mysql options in this case
  MYSQL_ROOT_PASSWORD: *****
  MYSQL_DATABASE: **_***
  MYSQL_USER: *****
  MYSQL_PASSWORD: *****

....
wordpress:
    depends_on: # container dependencies that need to be running first
  - db
  image: wordpress:latest # image used by our container
   ports:
  - "8080:80" # setting our ports for networking
   restart: always
   environment:
     WORDPRESS_DB_HOST: db:3306 # default mysql port
     WORDPRESS_DB_PASSWORD: **** # matches $MYSQL_PASSWORD
   volumes: # this is where we tell Docker what to pay attention to
  - ./wp-content/themes/chronus:/var/www/html/wp-content/themes/chronus # mapping our custom theme to the container
  - ./wp-content/plugins:/var/www/html/wp-content/plugins # map our plugins to the container
  - ./wp-content/uploads:/var/www/html/wp-content/uploads # map our uploads to the container

1 Ответ

0 голосов
/ 24 сентября 2018

Я предполагаю, что вы используете официальный Wordpress образ из докера.Вы указали флаг WORDPRESS_DB_PASSWORD, но не WORDPRESS_DB_USER.Это означает, что плагин WordPress по умолчанию равен root.

Однако, согласно вашим комментариям, вы ввели здесь пароль для какого-то произвольного пользователя (не пользователя root).

ИзменитьПеременные окружения WordPress контейнеров, как показано в вашем файле compose, должны работать:

   environment:
       WORDPRESS_DB_HOST: db:3306 # default mysql port
       WORDPRESS_DB_PASSWORD: **** # matches $MYSQL_PASSWORD
       WORDPRESS_DB_USER: **** # matches $MYSQL_USER
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...