Docker 在运行容器内安装Lustre不工作(已添加所有功能)
我们正在尝试将lustre文件系统安装在运行的容器中,并且已经通过以priviledge模式运行的容器成功地完成了这项工作 然而,对于那些在非特权模式下运行的容器,装载lustre失败,即使linux提供的所有功能都包括在内 然后Docker 在运行容器内安装Lustre不工作(已添加所有功能),docker,mount,linux-capabilities,lustre,Docker,Mount,Linux Capabilities,Lustre,我们正在尝试将lustre文件系统安装在运行的容器中,并且已经通过以priviledge模式运行的容器成功地完成了这项工作 然而,对于那些在非特权模式下运行的容器,装载lustre失败,即使linux提供的所有功能都包括在内 然后 “priviledged:True”和“cap_add:all capabilites”之间的区别是什么 当所有功能都添加到容器中时,为什么安装lustre仍然失败 装载错误 非特权模式容器: version: "3" services: aia
version: "3"
services:
aiart:
cap_add:
- AUDIT_CONTROL
- AUDIT_READ
- AUDIT_WRITE
- BLOCK_SUSPEND
- CHOWN
- DAC_OVERRIDE
- DAC_READ_SEARCH
- FOWNER
- FSETID
- IPC_LOCK
- IPC_OWNER
- KILL
- LEASE
- LINUX_IMMUTABLE
- MAC_ADMIN
- MAC_OVERRIDE
- MKNOD
- NET_ADMIN
- NET_BIND_SERVICE
- NET_BROADCAST
- NET_RAW
- SETGID
- SETFCAP
- SETPCAP
- SETUID
- SYS_ADMIN
- SYS_BOOT
- SYS_CHROOT
- SYS_MODULE
- SYS_NICE
- SYS_PACCT
- SYS_PTRACE
- SYS_RAWIO
- SYS_RESOURCE
- SYS_TIME
- SYS_TTY_CONFIG
- SYSLOG
- WAKE_ALARM
image: test_lustre:1.1
#privileged: true
ports:
- "12345:12345"
volumes:
- /home/wallace/test-lustre/docker/lustre-client:/lustre/lustre-client
你试过了吗?莫:没有限制的
version: "3"
services:
aiart:
cap_add:
- SYS_ADMIN
image: test_lustre:1.1
security_opt:
- apparmor:unconfined
ports:
- "12345:12345"
volumes:
- /home/wallace/test-lustre/docker/lustre-client:/lustre/lustre-client
如果这样做有效,那么试着编写一个定制的apparmor配置文件来满足您的需要,因为我想,unconfined会不那么安全:与
--privileged
和所有功能的区别在于,--privileged
参数删除了cgroup controller强制实施的所有限制,并在为所有设备提供访问权限的同时禁用了安全性附魔。特权容器真正成为主机操作系统的一部分,甚至可以访问AppArmor和SELinux配置,这些配置可能不会应用,例如SELinux标签
当使用--privileged
标志时,它不会对底层容器强制执行任何额外的安全性,内核文件系统也不会以只读方式装入容器中。SECCOMP筛选也被禁用。不过,您无法获得比当前名称空间所允许的更多的功能,例如,如果您正在运行无根守护进程
功能是调整root权限的一种方式,但在执行容器时仍会应用一些安全附魔
红帽的一篇博文在
正如在另一个答案中指出的那样,在这种情况下,AppArmor可能是问题所在,通过在运行容器时使用--security opt AppArmor:unconfined
标志,可以进行装载。但是,这只能暂时使用。在尝试装入容器之前,是否已在主机中加载Lustre内核模块?控制台上有消息吗?是的,从主机和在特权模式下运行的容器中装载成功。只有在正常模式下运行的容器才会失败。我已经发布了包含错误消息的图片@lustronepl添加为非特权容器调用运行的确切命令。很难评估“数十种功能”的实际含义。添加了yaml file@olesyabolobova您的答案是正确的,apparmor:unconfined config有效。但我仍然不知道我的问题的答案,同时niklas的帖子也给出了答案。所以我接受了他的回答。