我的一个图像需要安装设备。因此,启动时需要cap_sys_admin。但是,如果不再需要此功能,我将放弃此功能。
有没有什么方法可以在后期降低这种能力?
最佳答案
您应该考虑使用一个卷来完成数量,而不是要求容器从内部执行这些操作。
例如,不要:
docker run --cap-add SYS_ADMIN ...
然后在里面调用mount:
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 ...
当容器启动时,主机将处理装载操作,因为文件系统将对容器可用。容器不需要添加任何功能。