Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用docker和django公开端口8000_Django_Docker_Django Admin - Fatal编程技术网

使用docker和django公开端口8000

使用docker和django公开端口8000,django,docker,django-admin,Django,Docker,Django Admin,我正在尝试复制我在这里找到的django图像: 嗯,在这一点上,图像工作得很好,但我正试图从这个图像生成一个容器 很好地使用命令: $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3c3e94ff32e7 django

我正在尝试复制我在这里找到的
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
但是,这个端口没有打开(或者至少我在那里看不到任何响应)。 我不确定端口是否未打开并使用网桥,但我没有收到来自此容器的响应


我做错了什么?

试着把这个放到你的Dockerfile上:

EXPOSE 8000
或者,你可以试着看看你码头工人的情况。运行此命令打开docker的bash:

docker exec -it django /bin/bash

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

最后,我在这个线程中找到了一个解决方案:

基本上,要运行服务器,您应该使用以下工具执行它:

python manage.py runserver 0.0.0.0:8000
localhost:8000
在docker和本地计算机中,您可以通过以下方式看到它:

python manage.py runserver 0.0.0.0:8000
localhost:8000

EXPOSE
没有真正的功能,它只是一个界面,用于显示此图像中显示的端口。