我使用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 GUI中没有显示~/tf/src
。
Jupyter中显示的文件需要什么?我是否错误地初始化容器?
答案 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中获取文件
您为其运行的
$ 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()
查看工作目录。
其他线程
答案 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>