我无法通过Docker在浏览器中查看Python生成的图。该页面似乎存在于Docker容器中,但是我无法在其外部访问它。
详细信息:
我的机器运行Windows 10并且Docker可以运行例如用于php,mysql。
我正在尝试使用Docker运行FEniCS(https://fenicsproject.org/)。我按照网站上的说明进行操作,并且大多数内容都按照说明进行了操作,但是我无法访问这些图。
我用
启动容器docker run -ti -p 127.0.0.1:8000:8000 -v $(gl):/home/fenics/shared -w /home/fenics/shared quay.io/fenicsproject/stable:current
按照说明进行操作(对于PowerShell,$(pwd)
仅由&(gl)
替换)
我也可以在容器中运行示例
cd ~/demo/python/documented/poisson
python3 demo_poisson.py
完成并说
To view figure, visit http://127.0.0.1:8000
Press Ctrl+C to stop WebAgg server
但是我无法在任何浏览器中或通过curl
在Firefox中尝试http://127.0.0.1:8000
可以给我The connection was reset
。当我在PS中运行curl 127.0.0.1:8000
时,它说The underlying connection was closed: The connection was closed unexpectedly.
但是,当我在容器内运行curl http://127.0.0.1:8000
时,我得到了HTML代码,这使我认为问题出在端口配置上。
我找到了这篇文章
https://nickjanetakis.com/blog/docker-tip-54-fixing-connection-reset-by-peer-or-similar-errors
似乎可以解决此问题,但我不知道如何应用。
此帖子解决的是一个类似的问题,但不能解决我的问题,因此我也尝试提供更多详细信息。
Can't view FEniCS figure at http://127.0.0.1:8000