MySQL/Django/Docker -> 1045, "1045 (28000): Доступ запрещен для пользователя 'X'@'xx.xxx.xx.xx' (использующего пароль: YES)", '28000'
У меня есть mariadb/mysql и django, запущенные как отдельные контейнеры docker (оба имеют отдельные файлы docker-compose.yml).
Когда я пытаюсь собрать свой докер-контейнер django, используя docker-compose build
(для этого у меня есть Dockerfile с командами makemigrations и migrate в нем), мой контейнер собирается нормально и правильно, и python manage.py makemigrations
и python manage.py migrate
также работают нормально.
Однако когда я делаю docker exec -ti <django-container-name> bash
и пытаюсь запустить python manage.py makemigrations
и python manage.py migrate
, это не работает.
Я получаю 1045, "1045 (28000): Access denied for user '<user>'@'<host>' (using password: YES)", '28000'
ошибку.
Аналогично, когда я пытаюсь сделать mysql -h <hostname> -P <port> -u <username> -p
, я получаю ошибку bash, говорящую, что mysql не существует (я также получаю эту же ошибку, когда я делаю просто mysql).
Доступ к MariaDB: Когда я делаю docker exec -ti <mariadb-container-name> bash
и запускаю команду mysql, я могу видеть миграции из начальной сборки django, но ничего больше после этого.
Где я ошибаюсь, что django может собрать и выполнить makemigrations/migrate, но не будет выполнять эти команды внутри контейнера docker после того, как он будет запущен?
Я должен уточнить, что mariadb/mysql и django работают в одной сети docker, но имеют разные ipv4-адреса.