我想在一个容器中启动一个Jupyter笔记本。要求是容器中创建的笔记本应该也可以在主机上使用。为此,我做了卷映射:
docker run -it --rm -p 8888:8888 -v $(shell pwd):/home/jovyan/work --name=notebook jupyter/base-notebook
当我运行上述命令时,收到以下错误:
docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "chdir to cwd (\"/home/jovyan/work\") set in config.json failed: permission denied". ERRO[0000] error getting events from daemon: context canceled
暂时解决此问题,我更改了主机上当前工作目录的权限:
chmod a+rwx [current directory]
我认为更改文件夹的权限不是一个好的解决方案,应该有另一个问题。
此外,我必须提到我在一家公司工作,我没有sudo权利,我们使用共享主目录。
实际上我对所有图像都有这个问题。例如:
docker run -it -v /net/home/abc/Desktop/:/etc ubuntu:16.04
返回以下错误:
docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:359: container init caused \"rootfs_linux.go:54: mounting \\\"/var/lib/docker/containers/7e62c50efab7141468a00ddefb59d55715449e05f1c516662ac1f73fabab2722/resolv.conf\\\" to rootfs \\\"/var/lib/docker/aufs/mnt/e71d751ce8d253eafcd0dc5f41379cc4dd73da89302cfe8171becd228fba960e\\\" at \\\"/etc/resolv.conf\\\" caused \\\"lstat /var/lib/docker/aufs/mnt/e71d751ce8d253eafcd0dc5f41379cc4dd73da89302cfe8171becd228fba960e/etc/resolv.conf: permission denied\\\"\"".
答案 0 :(得分:0)
查看https://github.com/jupyter/docker-stacks/tree/master/base-notebook并注意Docker选项。默认情况下,此映像具有非特权用户jovyan,对$ pwd目录没有权限。 通过ENV你可以解决这个问题。
答案 1 :(得分:0)
此外,请确保您的docker用户有权访问您尝试在容器中挂载的路径。
在我的情况下,我的主目录具有700个权限,因此docker用户无权遍历目录路径。授予读取和执行许可,可使docker用户能够正确通过并挂载。