前言
主要解决在selinux
开启的环境下docker
化安全需要如何配置,还有常见的错误解决方法,并不是一味的chmod -R 777
,--privileged=true
,setenforce 0
,而是侧重使用selinux
安全策略
报错
当挂载宿主机的目录至容器时,容器内部调用报权限问题
读取写入片段
docker run -d --rm --cap-add=SYS_PTRACE -v $SHELL_FOLDER/../builds/webserver-straced/output_h:/output_c:rw elephdev/web-straced:1.0
ENTRYPOINT [ "strace", "-ff", "-o", "/output_c/webserver-strace-out","/docker-entrypoint.sh"]
报错
xxx:Can't Open xxxx Permission denied
解决思路
对于很多没深入接触过selinux
机制的人来说,关闭selinux
机制和使用特权方式启动容器就略过这个问题。
这里不展开讲SELinux 安全上下文
docker化解决方法:将需要挂载进容器的目录 修改其上下文安全性
Linux
将 libvirt-SELinux
模型扩展到 Docker
。Docker SELinux
Role
和 Docker SELinux
type
基于 libvirt
。例如,默认情况下,Docker
可以访问 /usr/var/
和其他一些位置,但它可以完全访问标有 svirt_sandbox_file_t
的内容
发表评论 取消回复