Невозможно подключиться к mysql и Django при использовании docker compose из-за разного расположения сокетов - PullRequest
0 голосов
/ 06 февраля 2020

При запуске docker -составить, django контейнер говорит

django.db.utils.OperationalError: (2002, "Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2)”)

И контейнер ДБ говорит

Version: '5.7.29' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server (GPL)

Кажется, что они не могут соединиться друг с другом из-за разного расположения сокетов. Я хочу знать, могу ли я изменить местоположение файла сокета.

1 Ответ

0 голосов
/ 06 февраля 2020

Если вы запускаете приложение и базу данных в разных контейнерах, они по умолчанию не могут соединяться друг с другом через сокеты. Вы должны использовать вид строки соединения db с хостом и портом, или вы должны как-то разделить файл сокета между этими двумя контейнерами. Что касается меня, то первый вариант проще.

Возможно это то, что вы ищете . В этом случае db host будет именем службы из docker -compose.yml.

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