docker WordPress контейнер не может подключиться к mysql контейнеру - PullRequest
1 голос
/ 16 апреля 2020

Я в недоумении не только по поводу того, почему это не работает, но и по дальнейшему устранению неполадок. Я новичок в docker, поэтому может быть что-то очевидное, но я не могу его найти. Я просмотрел здесь некоторые другие ссылки, которые можно было бы считать «дублирующими вопросами», и ничего не помогло.

Настройка моей игровой площадки:

mysql контейнер с именем : "db "
контейнер phpmyadmin с именем : phpmyadmin
контейнер wordpress с именем : домен-блог

Все контейнеры находятся в сети моста docker0

На этом этапе я запускаю все контейнеры индивидуально, но я проверяю, что база данных запущена и работает до запуска wordpress.

Строка для запуска контейнера wordpress:

docker run --name="domain-blog" -d \
-e WORDPRESS_DB_HOST=db:3306 \
-e WORDPRESS_DB_USER=domain_user \
-e WORDPRESS_DB_PASSWORD=testedpassword \
-e WORDPRESS_DB_NAME=domain_blog \
-e WORDPRESS_TABLE_PREFIX=astring \
--network=docker0 \
-p 8081:80 \
--restart always \
wordpress

То, что я пробовал:

  • Я могу войти как root с rootpassword из phpmyadmin, перемещаясь по hostip:8080.
  • Я могу войти как domain_user, используя testedpassword от phpmyadmin.
  • Подтверждено, что я могу добавить новую таблицу при входе в систему как domain_user.
  • Я развернул контейнер Ubuntu и установил сетевые инструменты , может пинговать все контейнеры.
  • Я установил iputils-ping прямо на WordPress контейнер и может пинговать db, используя ping db. Пинг работает, но также подтвердил, что БД разрешается по правильному IP-адресу.
  • cat wp-config.php показывает, что пользователь, хост (db: 3306), пароль и база данных передаются как I ' ожидаю.

Я использовал phpmyadmin, когда создал нового пользователя / пароль, базу данных и добавил разрешения для пользователя в этой базе данных. Пользователь настроен для входа в систему с %.

Ошибка, из-за которой я не могу получить доступ к базе данных, возникает при попытке перейти к блогу с помощью hostip:8081 Точная ошибка: Error establishing a database connection

1 Ответ

0 голосов
/ 16 апреля 2020

Решил и чувствую себя довольно глупо, но в духе образования ...

Когда я вводил имя пользователя / пароль в mysql через phpmyadmin, по умолчанию в интерфейсе администратора используется Caching sha2 authentication.

Я сбрасываю пароль, используя собственную аутентификацию Mysql ... Теперь это не проблема.

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