您將無法從容器內不解除一些泊塢窗提供了隔離(否則不受信任的應用程序可以安裝在主機根文件系統和逃逸)的運行mount命令。 Docker通過從容器內的根用戶刪除各種功能來防止這種情況發生。
對於NFS掛載,您通常會安裝這個作爲卷放入容器中的兩種方法之一:
安裝在主機上的NFS目錄,主機目錄映射到容器中。這允許您除了在容器內外直接在主機上管理卷。
將NFS目錄作爲卷直接掛載到容器中。
對於第二種情況,可以定義體積的東西,如:
$ docker volume create --driver local \
--opt type=nfs \
--opt o=addr=10.1.23.123,rw \
--opt device=:/nvol1 \
nvol1
$ docker run -v nvol1:/tmp your_image
編輯:跳過docker volume create
步驟中,您可以用--mount
選項從運行命令這樣做:
$ docker run -it --rm \
--mount type=volume,dst=/container/path,volume-driver=local,volume-opt=type=nfs,volume-opt=o=addr=192.168.1.1,volume-opt=device=:/host/path \
foo
在Docker文件中添加給定格式後,它會在構建bash-4.2#docker build時引發錯誤。 發送建立上下文多克爾守護39.42 KB 步驟1:泊塢 未知指令:泊塢 的bash-4.2#更Dockerfile 搬運工卷創建--driver本地\ --opt類型= NFS \ --opt O = 。ADDR = 10#### ###:。/ xbbl7nvol1,RW \ --opt設備=:/ TMP \ nvol1 – Satte
那些是外殼命令,而不是用於Dockerfile條目。在構建時你將無法做到這一點。請更新您的問題,確切地說您正在嘗試做什麼,您正在運行的命令以及您正在使用的文件。 – BMitch
我已更新問題。 – Satte