Docker – Why do some host volumes in Docker containers give the error “too many levels of symbolic links”

autofsdockernfssymbolic-link

I'm running docker with a host directory mounted:

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

Files in /usr/groups/thing/foo are accessible:

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

But files in /usr/groups/thing/bar are not:

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

This is on Debian, and /usr/groups/thing is an automounted NFS volume.

Best Answer

This is caused by directories not being automounted when the container is run. I had thought that /usr/groups/thing was the automount point, but evidently the sub-directories are auto-mounted individually. The solution is to make sure each one is mounted before entering the container:

$ (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