为什么在Docker容器中的一些主机卷会给出错误“符号链接的级别太多”?

我正在运行一个主机目录的docker:

$ docker run -v /usr/groups/thing -ti imagename /bin/bash 

/usr/groups/thing/foo是可访问的:

 # ls /usr/groups/thing/foo abc 

但是/usr/groups/thing/bar中的文件不是:

 # ls /usr/groups/thing/bar ls: cannot open directory /usr/groups/thing/bar: Too many levels of symbolic links 

这在Debian上,而/usr/groups/thing是一个自动安装的NFS卷。

这是由于容器运行时目录没有被自动挂载造成的。 我以为/usr/groups/thing是自动挂载点,但显然子目录是自动挂载的。 解决的办法是确保每一个进入容器之前安装:

 $ (cd /usr/groups/thing/foo; cd /usr/groups/thing/bar) $ docker run -v /usr/groups/thing -ti imagename /bin/bash # ls /usr/groups/thing/bar def