使用docker和django公开端口8000

时间:2017-09-20 14:42:03

标签: django docker django-admin

我正在尝试复制我在此处找到的django imagehttps://hub.docker.com/r/library/django

嗯,此时图像效果很好,但我试图从这个图像中生成一个容器。

使用命令:

$ docker ps -a
CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS                      PORTS               NAMES
3c3e94ff32e7        django:latest          "python3"                18 hours ago        Exited (137) 17 hours ago                       django

$ docker images -a
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
django              latest              eb40dcf64078        9 months ago        436MB

使用:

$ docker commit django fmf
$ docker run -p 8000:8000 -td fmf /bin/bash

现在,我有了容器fmf,并使用以下方法生成了一个新的django项目:

# django-admin startproject test
# python manage.py runserver 8000

但是,这个端口没有打开(或者至少我看不到任何响应)。 我不确定端口是否未打开并使用网桥,但我没有从此容器中获得响应。

我做错了什么?

2 个答案:

答案 0 :(得分:4)

最后,我在这个帖子中找到了一个解决方案: https://github.com/docker/for-win/issues/197

基本上,要运行服务器,您应该使用:

执行它
python manage.py runserver 0.0.0.0:8000

在您的泊坞窗和本地计算机中,您可以看到它:

localhost:8000

答案 1 :(得分:0)

尝试将其放在Dockerfile上:

EXPOSE 8000

或许,您可以尝试查看您的码头工具中发生了什么。运行此命令打开docker的bash:

docker exec -it django /bin/bash

然后,查看端口8000上是否有正在运行的进程。