¿Por qué algunos volúmenes host en contenedores Docker dan el error "demasiados niveles de enlaces simbólicos"?

Estoy ejecutando docker con un directorio de host montado:

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

Archivos en /usr/groups/thing/foo son accesibles:

# ls /usr/groups/thing/fooa b c

Pero los archivos en /usr/groups/thing/bar no:

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

Esto está en Debian, y /usr/groups/thing es un volumen NFS montado automáticamente.

Esto se debe a que los directorios no se montan automáticamente cuando se ejecuta el contenedor. Yo había pensado que /usr/groups/thing era el punto de montaje automático, pero evidentemente los subdirectorios se montan automáticamente de forma individual. La solución es asegurarse de que cada uno esté montado antes entrar en el contenedor:

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

Me encontré con este problema, y aunque la solución que encontré ciertamente no será para todos, fue una parte sutil de mi configuración la que causó el problema.

Para ahorrar espacio, moví el directorio Docker de mi %APPDATA% directorio en mi SSD, a mi disco duro mucho más grande, y configure una unión para que apunte a él en su nuevo hogar.

Finalmente recordé que este era el caso y moví el directorio hacia atrás. Reinicié mi PC y el error dejó de ocurrir.

Como digo, eso es bastante nicho, pero me lo resolvió.