Warum geben einige Host-Volumes in Docker-Containern den Fehler "zu viele Ebenen symbolischer Links" aus?


8

Ich verwende Docker mit einem gemounteten Hostverzeichnis:

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

Dateien in /usr/groups/thing/foosind zugänglich:

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

Dateien in /usr/groups/thing/barsind jedoch nicht:

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

Dies ist auf Debian und /usr/groups/thingist ein automatisch bereitgestelltes NFS-Volume.

Antworten:


8

Dies wird dadurch verursacht, dass Verzeichnisse beim Ausführen des Containers nicht automatisch bereitgestellt werden. Ich hatte gedacht, dass dies /usr/groups/thingder Automount-Punkt ist, aber offensichtlich werden die Unterverzeichnisse einzeln automatisch gemountet. Die Lösung besteht darin, sicherzustellen, dass jeder montiert ist, bevor Sie den Behälter betreten:

$ (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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.