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

时间:2018-10-15 19:35:24

标签: docker jupyter-notebook persistence docker-volume

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

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

这创建了一个带有正在运行的Jupyter应用程序的新容器。 Jupyters Web界面将我带到/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会使容器在启动时退出。

这是预期的行为,我是否缺少某些东西?

1 个答案:

答案 0 :(得分:1)

权限不是问题吗?

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

  

-v / some / host / folder / for / work:/ home / jovyan / work-将主机目录挂载为容器中的文件夹。当您想使用时很有用   保留容器后,仍保存笔记本和其他工作   毁了。 您必须授予容器内笔记本用户或   组(NB_UID或NB_GID)对主机目录(例如,   sudo chown 1000 / some / host / folder / for / work)。