docker容器如何检查它是否具有功能

时间:2017-10-12 05:27:13

标签: docker

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

如何在运行容器时检查实际提供的功能,以便我可以添加日志/抛出错误?

1 个答案:

答案 0 :(得分:2)

您可以命令检查功能

$ 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

下面的命令显示容器的所有可用功能

  

$ capsh --print | grep"当前:" | 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