2017-06-21 54 views
0

我的一個圖像需要安裝設備。因此,它在啓動時需要cap_sys_admin。但是,一旦不再需要,我想放棄這個功能。容器內部的特權下降

有什麼方法可以在稍後階段降低功能?

+0

Stack Overflow是編程和開發問題的網站。這個問題似乎與題目無關,因爲它不涉及編程或開發。請參閱幫助中心的[我可以詢問哪些主題](http://stackoverflow.com/help/on-topic)。也許[超級用戶](http://superuser.com/)或[Unix&Linux堆棧交換](http://unix.stackexchange.com/)會是一個更好的地方。 – jww

+1

在碼頭上的網站上,stackoverflow被廣告爲一個可能的地方要求,並且由於碼頭集裝箱是腳本化的,我不太明白爲什麼它不適合。 – Cyclonit

+0

這聽起來像該網站提供半不正確的信息。容器只是一個輕量級虛擬機,就像Debian QEMU/Chroot。您應該在更適合他們的網站上提問,例如[Super User](http://superuser.com/)或[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)。如果您有編程和開發方面的問題,比如如何從源代碼構建Docker或如何修復源代碼錯誤,那麼是的,請在這裏提問。 – jww

回答

0

您應該考慮使用捲來完成數量,而不是要求容器從內部執行它們。

例如,而不是這樣做的:

docker run --cap-add SYS_ADMIN ... 

,然後調用安裝內部:

mount -t nfs server:/some/path /local/path 

相反,你可以創建一個使用 '本地' 驅動程序,像這樣一個量:

docker volume create -d local -o type=nfs -o device=:/some/path -o o=addr=server,rw my_volume 

然後當你可以運行容器時使用它:

docker run -v my_volume:/local/path ... 

容器啓動時,主機將處理掛載操作,因爲文件系統將可用於容器。該容器不需要添加功能。