Как я могу получить доступ через S SH к ноутбуку Jupyter, который работает в контейнере Docker? - PullRequest
0 голосов
/ 15 февраля 2020

У меня есть компьютер с графическим процессором, сервер и клиент. Поскольку компьютер с графическим процессором находится за инфраструктурой безопасности, он поддерживает обратное соединение S-1019 * с сервером, чтобы клиент мог получить доступ к компьютеру с графическим процессором с сервера:

ssh -R 19507:localhost:22 www.example.org

Затем клиент может получить доступ к компьютеру с графическим процессором:

ssh -L 19508:localhost:19508 user@www.example.org -t ssh -L 19508:localhost:19508 user@localhost -p 19507

Записная книжка Jupyter может быть запущена на компьютере с графическим процессором:

jupyter notebook --no-browser --port=19508

И затем он доступен удаленно клиенту через URL localhost: 19508.

Теперь, вместо того, чтобы запускать Jupyter на компьютере с графическим процессором, просто используя системную установку, я бы хотел запустить его из контейнера Docker. Когда я запускаю ту же команду Jupyter из контейнера, я сталкиваюсь со следующим сообщением:

OSError: [Errno 99] Cannot assign requested address

Как это можно решить? Как записная книжка Jupyter в контейнере может вещать на порт 19508, чтобы он был удаленно доступен через S SH?

Способ запуска контейнера Docker выглядит примерно так:

docker run -u 'root' -v /home/repositories:/repositories -p 19508:19508 --ip 0.0.0.0 --gpus all -it --rm tensorflow/tensorflow:latest-gpu
...