Переадресация портов Docker не работает приложение Django
У меня есть приложение Django, которое отлично работает локально, когда я запускаю его без контейнера. Однако, когда я контейнеризирую приложение, создаю образ и запускаю контейнер, приложение недоступно на проброшенном порту:
http://localhost:8081
Когда я вхожу в контейнер и выполняю команду curl:
curl localhost:8005
Я могу видеть ответ внутри контейнера.
Вот мой Dockerfile, который я использую для сборки образа и запуска контейнера с некоторыми переменными окружения, которые присутствуют при входе в контейнер:
FROM python:3.11
ENV PYTHONUNBUFFERED 1
RUN mkdir /app
WORKDIR /app
COPY requirements.txt /app
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
COPY . /app
EXPOSE 8005
#ENTRYPOINT ["bash", "entrypoint.bash"]
CMD ["python", "manage.py", "runserver", "0.0.0.0:8005"]
Для сборки образа и запуска контейнера я использую следующие команды:
docker build -t app_backend:v1 .
docker run -dit --rm -p 8081:8005 --name app_backend app_backend:v1
Для тестирования я попробовал выполнить примерную команду и смог получить доступ к Nginx на порту 8009, но я не могу получить доступ к приложению Django на указанном порту:
docker run -d -p 8009:80 nginx:alpine