Django.db.utils.OperationalError: (1045, 'Plugin caching_sha2_password could not be
Я пытаюсь контейнеризировать мое приложение Django с mysql и получаю следующую ошибку, когда пытаюсь запустить docker-compose up --build.
Вот мой docker-compose.yml:
version: '3.9'
services:
db:
image: mysql
restart: always
environment:
- MYSQL_USER="dexter"
- MYSQL_PASSWORD="password"
- MYSQL_DATABASE="drosmokers_db"
- MYSQL_ROOT_PASSWORD="password"
volumes:
- dev_vol:/var/lib/mysql/
ports:
- 3305:3306
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/app
ports:
- "8000:8000"
depends_on:
- db
volumes:
dev_vol:
Мой Dockerifle:
FROM python:3
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONBUFFERED=1
WORKDIR /app
COPY requirements.txt /app/
RUN pip install -r requirements.txt
COPY . /app/
...и, наконец, мой settings.py:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'drosmokers_db',
'USER': 'root',
'PASSWORD': 'password',
'HOST': 'drosmokers-db-1', # the container name
'PORT': 3306
}
}
Я не знаю, почему я получаю эту ошибку и что она означает. Мне уже удавалось успешно контейнеризировать это приложение, но я просто следовал инструкциям, не понимая, что происходит с каждой командой. Я потратил последний час, пытаясь понять, почему выполнение docker-compose up --build приводит к этой ошибке: django.db.utils.OperationalError: (2002, "Can't connect to MySQL server on <database> (115), и теперь я получаю эту ошибку, и я даже не знаю, что я сделал или где начать искать. Любая помощь будет очень признательна. Спасибо!