Docker: Jupyter 在挂载卷时在 Web 界面中隐藏路径

Docker: Jupyter hides path in web interface when mounting a volume

我正在尝试在 docker 容器中设置 Jupyter Notebook。我使用的是流行图像 jupyter/datascience-notebook。我使用以下命令来测试图像:

docker run -d --rm --name jupyter -p XXXX:XXXX jupyter/datascience-notebook

这创建了一个带有 运行 Jupyter 应用程序的新容器。 Jupyter 网络界面将我带到 /home/jovyan,我可以看到文件夹 work。这是我要创建我的笔记本的地方。

为了保存数据,我想挂载一个卷到路径/home/jovyan/work。我尝试了以下两个命令:

docker run -d --name jupyter -p XXXX:XXXX -v /volume1/homes/user/myPath:/home/jovyan/work jupyter/datascience-notebook

docker run -d --name jupyter -p XXXX:XXXX --mount type=bind,source=/volume1/homes/user/myPath,target=/home/jovyan/work jupyter/datascience-notebook

两者都像第一个命令一样工作,但是 work 文件夹从 Web 界面的层次结构中消失了。尝试创建它时,它指出该文件夹已经存在,我通过打开终端并使用 ls 列出当前路径中的所有文件夹来确认这一点,它出现的地方。

安装不同的路径会创建一个新文件夹,结果相同:文件夹已创建但未显示在层次结构中。挂载 /home/jovyan 使容器在启动时退出。

这是预期的行为吗?我是否遗漏了什么?

不会是权限问题吧?

Docker Options 部分中的图像文档指出:

-v /some/host/folder/for/work:/home/jovyan/work - Mounts a host machine directory as folder in the container. Useful when you want to preserve notebooks and other work even after the container is destroyed. You must grant the within-container notebook user or group (NB_UID or NB_GID) write access to the host directory (e.g., sudo chown 1000 /some/host/folder/for/work).