Por que alguns volumes de host em contêineres Docker dão o erro "muitos níveis de links simbólicos"?

Estou executando o docker com um diretório host montado:

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

Arquivos em /usr/groups/thing/foo são acessíveis:

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

Mas arquivos em /usr/groups/thing/bar não são:

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

Isso está no Debian, e /usr/groups/thing é um volume NFS automounted.

Isso é causado por diretórios não sendo automounted quando o contêiner é executado. Eu tinha pensado que /usr/groups/thing era o ponto automount, mas evidentemente os subdiretórios são montados automaticamente individualmente. A solução é garantir que cada um seja montado antes entrando no contêiner:

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

Acabei de resolver esse problema e, embora a solução que encontrei certamente não seja para todos, foi uma parte sutil da minha configuração que estava causando o problema.

Para economizar espaço, mudei o diretório Docker do meu %APPDATA% diretório no meu SSD, para o meu HDD muito maior, e configurar uma junção para apontar para ele em sua nova casa.

Acabei me lembrando que esse era o caso e movi o diretório de volta. Reiniciei meu PC e o erro parou de ocorrer.

Como eu digo, isso é muito nicho, mas resolveu para mim.