docker集装箱如何检查它是否有能力

例如,假设我有一个需要NET_ADMINfunction的容器(例如keepalived作为容器)。

我怎样才能检查,当容器运行,实际上提供的能力,以便我可以添加一个日志/抛出一个错误?

您可以使用命令来检查function

$ capsh --print | grep "Current:" | cut -d' ' -f3 | grep -q cap_net_admin $ echo $? 0 $ capsh --print | grep "Current:" | cut -d' ' -f3 | grep -q cap_net_admins $ echo $? 1 

以下命令显示容器的所有可用function

$ capsh –print | grep“Current:”| cut -d''-f3 cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_net_bind_service,cap_net_admin,cap_net_raw,cap_sys_chroot,cap_mknod,cap_audit_write,cap_setfcap + eip