nfs – 为什么Docker容器中的某些主机卷会出现“太多级别的符号链接”错误?

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

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

/usr/groups / thing / foo中的文件是可访问的:

# ls /usr/groups/thing/foo
a b c

但/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是automount点,但显然子目录是单独自动挂载的.解决方案是在进入容器之前确保每个都已安装:

$(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
d e f