在Docker Jupyter笔记本的GUI中显示卷文件

时间:2018-01-05 05:12:47

标签: docker jupyter-notebook

我使用Docker运行Jupyter Notebook并尝试将本地目录挂载到预期的Docker卷上。但我无法在Jupyter笔记本中看到我的文件。 Docker命令是

sudo nvidia-docker create -v ~/tf/src -it -p 8888:8888 
   -e PASSWORD=password 
   --name container_name gcr.io/tensorflow/tensorflow:latest-gpu

和Jupyter笔记本的GUI看起来像

Jupyter notebook

但是{Jupyter GUI中没有显示~/tf/src

Jupyter中显示的文件需要什么?我是否错误地初始化容器?

4 个答案:

答案 0 :(得分:1)

您安装音量的方式我觉得错误的 -v ~/tf/src 应该是

<强> -v /host/directory:/container/directory

答案 1 :(得分:1)

Ferdi D的答案仅针对解释器中的文件,而不是针对Jupyter GUI中的文件,这会使事情有些混乱。我通过更普遍地显示Jupyter笔记本中的污秽来定位标题Show volume files in docker jupyter notebook


解释器中的文件

-v标志可让您在解释器或笔记本中获取文件,但不一定会在Jupyter GUI中获取文件

enter image description here

您为其运行的

$ docker run --rm -it -p 6780:8888 -v "$PWD":/home/jovyan/ jupyter/r-notebook

因为安装点取决于分布及其路径。在这里,您要求将当前目录挂载到Jupyter的路径/home/jovyan

Jupyter GUI中的文件

  

要在Jupyter GUI中获取文件,

     

OS X

     

如果在当前的Jupyter版本中除/home/jovyan以外的其他文件,这些文件将不会显示在Jupyter GUI中,请使用

$ docker run --rm -it -p 6780:8888 -v "$PWD":/home/jovyan/ jupyter/r-notebook
     

其他一些发行版

$ docker run --rm -it -p 6780:8888 -v "$PWD":/tmp jupyter/r-notebook
     

更一般的

     

要检查/home/jovyan//tmp,可以在R中getwd()查看工作目录。

     

enter image description here

其他线程

  1. 关于主题here的更一般的Reddit讨论

答案 2 :(得分:0)

Karl L认为以下解决方案。解决方案移至此处,供所有人进行判断,并使问题更易于阅读。


解决方案

sudo nvidia-docker create -v /Users/user/tf/src:/notebooks 
   -it -p 8888:8888 -e PASSWORD=password 
   --name container_name gcr.io/tensorflow/tensorflow:latest-gpu

正如@ fendi-d指出的那样,我的卷安装不正确。

然后,我被指向错误的安装目录,并在tensorflow docker文件https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/docker/Dockerfile.gpu中找到了正确的目录

哪个配置了jupyter笔记本,然后将文件复制到“ / notebooks”

# Set up our notebook config.
COPY jupyter_notebook_config.py /root/.jupyter/

# Copy sample notebooks.
COPY notebooks /notebooks

运行正确的安装路径后,它显示我的文件位于“ / Users / user / tf / src”中

答案 3 :(得分:0)

将其发布为答案,因为位置似乎已更改并且接受的答案并未完整说明如何使您的本地目录显示在Tensorflow Jupyter中(在一行上输入适当的{{ 1}}和<localdir>):

<dockerdir>