运行FEniCS容器泊松示例无法访问http://0.0.0.0:8000问题咨询
故障根因
你使用FEniCS容器运行示例时,容器默认不会将内部服务端口暴露给宿主机网络,示例启动的8000端口是容器内部的监听端口,没有做端口映射的情况下宿主机的浏览器无法直接访问容器内的服务。
解决步骤
- 先按
Ctrl+C终止当前运行的泊松示例进程,再退出当前FEniCS容器。 - 重新启动容器时添加端口映射参数,将宿主机端口和容器内部8000端口绑定。如果你之前的容器启动命令为
docker run -ti quay.io/fenicsproject/stable:latest,修改后命令如下:docker run -ti -p 8000:8000 quay.io/fenicsproject/stable:latest
其中-p 8000:8000参数的含义是将宿主机的8000端口映射到容器内部的8000端口。 - 进入容器后重新执行泊松示例运行命令:
cd ~/demo/python/documented/poisson python3 demo_poisson.py
- 启动完成后打开浏览器访问
http://localhost:8000即可正常查看结果。
异常处理
如果启动容器时提示8000端口被占用,可以更换宿主机映射端口,比如使用-p 8080:8000参数启动容器,之后访问http://localhost:8080查看结果即可。
内容的提问来源于stack exchange,提问作者user5998510
相关产品推荐
相关产品推荐

