Не удается установить соединение между Django и MySQL [дубликат].

Я построил 2 контейнера, один для проекта с python-3.4.10 и другой для MySQL (с mysql-5.7-debian).

Когда я пытаюсь выполнить любую команду, например: python manage.py makemigrations {name} или python manage.py runserver 0.0.0.0:8000 она выдает мне следующую ошибку:

django.db.utils.OperationalError: (2003, 'Can\'t connect to MySQL server on \'127.0.0.1\' (111 "Connection refused")')

Я буквально перепробовал все и прошел через все связанные с этим проблемы стека. Но проблема все еще сохраняется.

Когда я подключаюсь к MySQL Workbench (который установлен на моей базовой ОС: Windows 11) с запущенным контейнером MySQL, он подключается, но когда я выполняю команду python manage.py ... на другом контейнере, он показывает мне вышеуказанную ошибку.

Не могли бы вы мне помочь? Спасибо.

settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 's_db',
        'USER': 'root',
        'PASSWORD': 'root',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

docker-compose.yaml

version: '3.8'

services:
  web:
    image: s-compose:latest
    ports:
      - 8000:8000
    command: >
      sh -c "python manage.py runserver 0.0.0.0:8000"
    volumes:
      - ./s:/home/app/webapp
    depends_on:
      - database

  database:
    image: mysql:5.7-debian
    ports:
      - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: root

.Dockerfile

FROM python:3.4.10

ENV Dockerhome=/home/app/webapp
RUN mkdir -p $Dockerhome

WORKDIR $Dockerhome

COPY ./sansthaonline $Dockerhome

RUN pip install -r req.txt; exit 0

EXPOSE 8000
## testing server
CMD python manage.py runserver 0.0.0.0:8000
Вернуться на верх