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/ , но это небезопасно, насколько я понимаю