我有一个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文件来启动应用