Docker + Django,服务器正在运行,但未显示欢迎页面

2 python django docker dockerfile

当我运行my时dockerfile,我得到正确的输出:

Performing system checks...
System check identified no issues (0 silenced).
July 31, 2017 - 11:00:32
Django version 1.11.3, using settings 'tufleur.settings'
Starting development server at http://127.0.0.1:8002/
Quit the server with CONTROL-C.
Run Code Online (Sandbox Code Playgroud)

这是我的dockerfile

FROM django:onbuild
# Install Python dependencies
RUN  pip install django
#CMD ["pwd"]
RUN ./manage.py makemigrations
RUN ./manage.py migrate
#RUN ./manage.py collectstatic
EXPOSE 8002
#Run Server
CMD ./manage.py runserver 127.0.0.1:8002
Run Code Online (Sandbox Code Playgroud)

但是在浏览器中,django的欢迎页面没有显示,

您能帮我找到问题吗,因为我找不到任何问题

Tar*_*ani 5

首先你需要改变

CMD ./manage.py runserver 127.0.0.1:8002
Run Code Online (Sandbox Code Playgroud)

CMD ./manage.py runserver 0.0.0.0:8002
Run Code Online (Sandbox Code Playgroud)

这是因为您想监听容器内的所有接口。聆听127.0.0.1容器内部的内容将使您只能从容器内部访问应用程序。

接下来,当您运行此文件时,需要确保将端口映射到主机os。

docker run -it -p 8002:8002 <imageid>
Run Code Online (Sandbox Code Playgroud)

现在,您的应用程序将可以localhost:8082在Docker主机上访问。如果您的Docker主机位于VM内,则您需要使用<VMIP>:8082来访问该应用程序