进行卷映射时,Docker权限问题

我想在一个容器里开一个Jupyter笔记本。 要求是在容器中创build的笔记本也应该在主机上可用。 为此我做卷映射:

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] 

我认为更改文件夹的权限不是一个好的解决scheme,应该有另一个问题。

另外我不得不提到,我在一家没有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\\\"\"". 

看看https://github.com/jupyter/docker-stacks/tree/master/base-notebook并注意Docker选项。 默认情况下,这个图像有一个非暴力的用户jovyan,没有你的$ pwd目录的权限。 通过ENV你可能会解决这个问题。