Docker + django + telebot Ошибка [Errno 111] Connection refused

Всем привет.

Через виртуальные среды все работает, но когда попробовал через docker-compose все упало

Ошибка:

bot     | requests.exceptions.ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=8000): Max retries exceeded with url: /api/companys/ (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f399194bd40>: Failed to establish a new connection: [Errno 111] Connection refused'))

Хотя данный эндпоинт в браузере отлично работает

.env

HOST_NAME = 127.0.0.1
API_URL = 'http://127.0.0.1:8000/api/'

DockerFile

FROM python:3

WORKDIR /app

COPY . .

RUN pip install -r requirements.txt

CMD [ "python", "manage.py", "runserver" ]

docker-compose

# Определение версии Docker Compose и начало описания сервисов
version: '3'

services:
  django:
    # Сборка образа для сервиса django из текущей директории
    build: .
    # Задание имени контейнера для сервиса django
    container_name: django
    # Рестарт
    restart: always
    # Задание команды, которую нужно запустить при запуске контейнера для сервиса django
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/app
    # Открытие порта на хостовой машине и перенаправление на порт в контейнере
    ports:
      - 8000:8000

  telebot:
    build: .

    container_name: bot

    restart: always

    volumes:
      - .:/app

    depends_on:
      - django

    command: python manage.py bot

P.S Знаю, что в ALLOWED_HOST можно прокинуть django, и тогда api_url будет - http://django:8000/api/ , но это небезопасно, насколько я понимаю

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