Не удается подключить Docker Wordpress контейнер к MySQL на хосте

У меня есть виртуальная машина Ubuntu, которую я развернул на своем Mac. В виртуальной машине у меня установлены MySQL и Docker, и я пытаюсь запустить контейнер из образа Wordpress и подключиться к MySQL на хосте vm. Документация по изображениям Wordpress гласит:

$ docker run --name some-wordpress -e WORDPRESS_DB_HOST=10.1.2.3:3306 \ -e WORDPRESS_DB_USER=... -e WORDPRESS_DB_PASSWORD=... -d wordpress

Я заменил IP-адрес, присвоенный хосту vm, и соответствующим переменным среды пользователя, пароля и имени базы данных. Контейнер поднимается, но через некоторое время закрывается, и журналы докера показывают:

vagrant@docker-blogs:/vagrant$ docker logs je-wordpress 
WordPress not found in /var/www/html - copying now...
Complete! WordPress has been successfully copied to /var/www/html

Warning: mysqli::mysqli(): (HY000/2002): Connection refused in - on line 10

MySQL Connection Error: (2002) Connection refused

Warning: mysqli::mysqli(): (HY000/2002): Connection refused in - on line 10

MySQL Connection Error: (2002) Connection refused

Они повторяются несколько раз, затем он заканчивается.

Должно ли это быть выполнимым? Если да, что мне нужно использовать в качестве IP-адреса для хоста vm и нужно ли мне что-то настраивать?

1 ответ

Решение

Я предполагаю, что у вас есть настройки по умолчанию на этом MySQL.

Вы пытаетесь подключиться к MySQL из другой сети. Это запрещено по умолчанию в MySQL.

Ищите настройки mysql:grep bind-address /etc/mysql/my.cnf

grep skip-networking /etc/mysql/my.cnf

Закомментируйте их обоих (#bind-address... или удалите их.

перезапустите службу MySQL

service mysql restart

Разрешить пользователю подключаться из удаленной сети. Подключитесь к mysql и выполните:

GRANT ALL ON database.* TO user@'xxx.xxx.xxx.xxx' IDENTIFIED BY 'PASSWORD';

измените базу данных, пользователя, xxx.xxx.xxx.xxx для IP-адреса, с которого вы подключаетесь, и ПАРОЛЬ.

Чтобы включить режим IDontGiveADamn, просто выполните

GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'monkey';

Другие вопросы по тегам