Невозможно назначить запрашиваемый адрес при подключении к Redis через Docker

Создаю контейнеры из моего проекта Django+Redis+React и получаю ошибку:

Error 99 connecting to localhost:49157. Cannot assign requested address.

Когда я посещаю url localhost:8000

Это мой docker-compose файл:

version: "3.8"
services:
  redis:
    restart: always
    image: redis:latest
    ports:
      - "6379:6379"
  pairprogramming_be:
    restart: always
    depends_on:
      - redis
    command: bash -c "python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:8000"
    env_file:
      - ./signup/.env
      - ./payments/.env
      - ./.env
    build:
      context: ./
      dockerfile: Dockerfile
    ports:
      - "8000:8000"
    container_name: "pairprogramming_be"
...

#Ошибка 99 при подключении к localhost:49153. Невозможно присвоить запрашиваемый адрес.

Это мой .env файл:

DEBUG=1
DJANGO_ALLOWED_HOSTS=0.0.0.0

мой Dockerfile:

FROM python:3
ENV PYTHONUNBUFFERED 1
WORKDIR django-project/peerplatform
COPY requirements.txt ./
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
COPY . ./
EXPOSE 8000
CMD ["python", "./manage.py", "runserver", "0.0.0.0:8000", "--settings=signup.settings"]

Вот мой settings.py на случай, если проблема здесь:

CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://redis:6379",
        # "TIMEOUT": 5 * 60,
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient"
        },
        "KEY_PREFIX": "pairprogramming"
    }
}
...
CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "channels_redis.core.RedisChannelLayer",
        "LOCATION": "redis://redis:6379",
    },
}
...
REDIS_HOST = 'redis://redis:6379'
REDIS_PORT = 6379
REDIS_PASSWORD = 'redispw'

Я столкнулся с той же проблемой, в контейнере Docker с аналогичным стеком. У меня еще не было времени решить ее, но в поисках ответа я нашел вот это, выглядящее многообещающе: https://medium.com/it-dead-inside/docker-containers-and-localhost-cannot-assign-requested-address-6ac7bc0d042b

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