Dockerized Django应用不允许连接



我有一个Django项目,我试图dockerize。当我运行docker镜像时,我没有得到任何错误,django应用程序说它正在等待连接。导航到localhost, 127.0.0.1,或者my VMs ip,没有返回任何连接,Django终端也没有报告任何连接。

这是我如何构建和运行我的docker镜像

docker build -t 0rion447/osas:osas_latest
docker run -it -p 80:8000 0rion447/osas:osas_latest 

这是我的dockerfile

FROM python:3.8.5
COPY requirements.txt ./
RUN pip3 install --user -r requirements.txt
RUN pip3 install psycopg2-binary
RUN python3 -m pip install --upgrade Pillow
COPY . app
COPY run_server.sh ./
RUN chmod +x run_server.sh
EXPOSE 8000
ENTRYPOINT ["./run_server.sh"]

和我的run_server.sh

#!/bin/sh
python app/manage.py runserver 0.0.0.0:8000

在我的settings.py中有

ALLOWED_HOSTS['*']

如果您还需要其他信息,请告诉我。

运行在80端口上,而不是终端报告的8000端口

你的应用程序正在运行吗?当你运行

docker run -it -p 80:8000 0rion447/osas:osas_latest

-it(交互式终端)实际上覆盖了你的ENTRYPOINT,所以除非你在运行./run_server.sh的容器中得到提示,否则我认为你的django应用程序永远不会启动。

试着只运行

docker run -p 80:8000 0rion447/osas:osas_latest

或者使用docker-compose文件来启动应用

最新更新