我尝试使用以下命令运行一个运行djangorestframework服务器的容器:
docker run --tty --interactive --detach \
--publish "$PUBLISH" \
--name $NAME \
--volume "$PWD:/home/gateway/project" \
gateway
其中$ PUBLISH ==" 8000:8000"
Unforntunaly,当我尝试在浏览器中加载页面时,似乎端口未被转发。
我从正在运行的容器内部进行了编码,端口8000在127.0.0.1上打开 我对虚拟机进行了编码,端口已关闭。我不知道为什么。
docker日志显示该服务正在运行,但未收到任何请求。是的,主机端口关闭似乎很明显。
哦,和docker ps秀
0.0.0.0:8000->8000/tcp
PORTS栏上的
我做错了什么,如何访问我的页面?
感谢您的帮助
答案 0 :(得分:0)
TL; DR
尝试使用-p 8000:8000
,如下所示:
docker run --tty --interactive --detach \
--publish "$PUBLISH" \
--name $NAME \
--volume "$PWD:/home/gateway/project" \
-p 8000:8000
gateway
然后您只需使用netcat检查
即可nc -vz 127.0.0.1 8000
除EXPOSE指令外,图像开发人员对网络没有太多控制权。 EXPOSE指令定义提供服务的初始传入端口。这些端口可用于容器内的进程。操作员可以使用--expose选项添加到公开的端口。
要公开容器的内部端口,操作员可以启动 带有-P或-p标志的容器。可以访问暴露的端口 主机和端口可供任何可以访问的客户端使用 主机。
了解更多HERE