10

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.

Peter Westlake
  • 806
  • 2
  • 6
  • 17

2 Answers2

12

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
Peter Westlake
  • 806
  • 2
  • 6
  • 17
-1

I just ran in to this problem, and while the solution I found certainly won't be for everybody, it was a subtle part of my setup that was causing the issue.

To save space, I'd moved the Docker directory from my %APPDATA% directory on my SSD, to my much larger HDD, and setup a junction to point to it in its new home.

I eventually remembered that this was the case, and moved the directory back. Restarted my PC, and the error stopped occurring.

Like I say, that's pretty niche, but it solved it for me.

Jack_Hu
  • 139
  • 1
  • 5
  • and then you eventually remember that you did this for a reason, mainly cause you had no space on the system drive.... – veritaS Oct 31 '20 at 16:09
  • This answer doesn't apply well to the NFS-issue of the original poster. – ppuschmann Nov 05 '20 at 19:47
  • @ppuschmann - It could do, as all I meant to say was, that if there's an extra symbolic link / hard link / junction / whatever, that you might of forgotten about, it could cause this issue. Not sure why I was marked down for given a possible solution... – Jack_Hu Nov 10 '20 at 16:17