web-dev-qa-db-ja.com

Dockerコンテナの一部のホストボリュームで「シンボリックリンクのレベルが多すぎます」というエラーが発生するのはなぜですか?

Hostディレクトリをマウントしてdockerを実行しています:

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

/usr/groups/thing/fooのファイルにアクセスできます:

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

ただし、/usr/groups/thing/barのファイルは次のとおりではありません。

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

これはDebian上にあり、/usr/groups/thingは自動マウントされたNFSボリュームです。

7
Peter Westlake

これは、コンテナの実行時にディレクトリが自動マウントされないことが原因です。 /usr/groups/thingは自動マウントポイントでしたが、明らかにサブディレクトリは個別に自動マウントされます。解決策は、それぞれがマウントされていることを確認することですbeforeコンテナーに入る:

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