使用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
没有真正的功能,它只是一个界面,用于显示此图像中显示的端口。