我的一个图像需要安装设备。因此,启动时需要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 ...

当容器启动时,主机将处理装载操作,因为文件系统将对容器可用。容器不需要添加任何功能。

10-05 20:28
查看更多