В настоящее время я работаю с удаленной записной книжкой Jupyter (через образ докера), и у меня возникла проблема с поиском папки, которая существует в каталоге (где я запускаю записную книжку), но не существует в дереве записной книжки.
Команда, которую я использую для выполнения записной книжки:
nvidia-docker run -it -p 8888:8888 --entrypoint /usr/local/bin/jupyter NAMEOFDOCKERIMAGE notebook --allow-root --ip=0.0.0.0 --no-browser
Команда, которую я использую для удаленного доступа к ноутбуку:
ssh -N -f -L localhost:8888:localhost:8888 remote_user@remote_host
Что странно, если я перейду в рабочий каталог записной книжки (на удаленном хосте / сервере) и добавлю папку + файлы, записная книжка не отразит изменения (т.е. mkdir new_folder в рабочем каталоге не добавит new_folder в дерево записной книжки. ).
Кто-нибудь знает, почему это может быть так, и если да, то как «обновить» / «обновить» дерево?
Большое спасибо за всех и любую помощь!






Контейнеры Docker имеют изолированную файловую систему. Это означает, что программа, запущенная в контейнере (в вашем случае jupyter notebook), видит папки, отличные от тех, которые есть у вас в хост-системе.
Если вы хотите предоставить контейнеру доступ к одной папке на хосте, вы можете использовать вариант-v при запуске докера.
В вашем случае вы должны запустить контейнер с помощью этой команды:
nvidia-docker run -it -p 8888:8888 -v /PATH_TO_HOST_FOLDER:/PATH_TO_CONTAINER_FOLDER --entrypoint /usr/local/bin/jupyter NAMEOFDOCKERIMAGE notebook --allow-root --ip=0.0.0.0 --no-browser
куда:
PATH_TO_HOST_FOLDER - это путь к папке в хост-системе, которую вы хотите использовать совместно с контейнером.
PATH_TO_CONTAINER_FOLDER - это точка монтирования папки в файловой системе контейнера (например, /home/username/work, где username - это имя пользователя в контейнере).
Путь в контейнере зависит от используемого вами образа докера. Если вы не знаете путь в контейнере, вы можете взглянуть на файловую систему контейнера, запустив bash внутри контейнера с помощью этой команды:
nvidia-docker run -it --entrypoint /bin/bash NAMEOFDOCKERIMAGE
После того, как вы запустите эту команду, вы окажетесь в bash внутри контейнера, поэтому вы можете увидеть внутреннюю файловую систему с ls, pwd и т. д.