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), и теперь я получаю эту ошибку, и я даже не знаю, что я сделал или где начать искать. Любая помощь будет очень признательна. Спасибо!

Вернуться на верх