Доступ к странице результатов через порт Docker
Я не могу просмотреть график, созданный с помощью Python, в браузере через Docker. Кажется, страница существует в контейнере Docker, но я не могу получить к ней доступ за ее пределами.
Детали:
Моя машина работает под управлением Windows 10, и Docker работает, например, для php, mysql.
Я пытаюсь запустить FEniCS ( https://fenicsproject.org/) с помощью Docker. Я следовал инструкциям на сайте, и большинство из них работало, как описано, но я не могу получить доступ к графикам.
Я начинаю контейнер с
docker run -ti -p 127.0.0.1:8000:8000 -v $(gl):/home/fenics/shared -w /home/fenics/shared quay.io/fenicsproject/stable:current
по инструкции (просто $(pwd)
заменен на &(gl)
для PowerShell)
Я также могу запустить пример в контейнере
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
Попытка http://127.0.0.1:8000
в Firefox дает мне The connection was reset
, Когда я бегу curl 127.0.0.1:8000
в PS это говорит The underlying connection was closed: The connection was closed unexpectedly.
Тем не менее, я получаю HTML-код при запуске curl http://127.0.0.1:8000
внутри контейнера, что заставляет меня думать, что проблема с конфигурацией порта.
Я нашел этот пост
https://nickjanetakis.com/blog/docker-tip-54-fixing-connection-reset-by-peer-or-similar-errors
которая, кажется, решает проблему, но я не понимаю, как ее применять.
В этом посте рассматривается аналогичная проблема, но она не решает мою проблему, и я также попытался дать более подробную информацию.
Не удается просмотреть рисунок FEniCS по адресу http://127.0.0.1:8000