Nfs
為什麼 Docker 容器中的某些主機捲會出現“符號連結級別過多”的錯誤?
我正在執行安裝了主機目錄的 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 卷。
這是由於容器執行時目錄未自動掛載造成的。我以為那
/usr/groups/thing
是自動掛載點,但顯然子目錄是單獨自動掛載的。解決方案是確保在進入容器之前每一個都已安裝:$ (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
我剛剛遇到了這個問題,雖然我找到的解決方案肯定不會適合所有人,但這是我設置的一個微妙部分導致了這個問題。
為了節省空間,我將 Docker 目錄從我
%APPDATA%
的 SSD 上的目錄移到了更大的 HDD,並設置了一個連接點以指向它的新家。我最終記得是這種情況,並將目錄移回。重新啟動我的電腦,錯誤停止發生。
就像我說的那樣,這很適合我,但它為我解決了這個問題。