2017-06-21 43 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 ... 

容器启动时,主机将处理挂载操作,因为文件系统将可用于容器。该容器不需要添加功能。