https://www.cnblogs.com/youlin/p/enable_selinux_for_docker_on_centos.html
1、docker容器中开启sexlinux,需要物理机也开启,内核支持
容器开启两种方式:
1):
vim /etc/sysconfig/docker :OPTIONS='--selinux-enabled=true --log-driver=journald --signature-verification=false --iptables=false'
2)
vim /etc/docker/daemon.json
{
"selinux-enabled": true
}
生产服务器使用的是CentOS 7系统,安装Docker也一直都是使用yum命令直接从CentOS自己的源安装。自从Docker项目改名为moby,进而诞生CE和EE两个不同版本后。不知是因为版权还是其他的什么原因,CentOS源中的Docker版本不再更新了,default维持在1.12.6,latest为1.13.1。
为了使用新版本的Docker,只能添加官方repo,然后安装docker-ce。安装完成后,在默认配置上与CentOS自带版相比,发现了两个不同之处:
存储驱动默认换成了overlay
SELinux默认没有开启(指Docker服务配置)
分析
关于存储驱动的问题,这里暂时不做讨论,只是来看一下SELinux的问题。这里说的SELinux没有开启不是指在操作系统层面上将其disable掉了,而是说Docker服务的配置中没有将其enable。毕竟在Docker中开启SELinux是要在操作系统也就是Linux内核开启了SELinux的前提下进行的。首先,Docker没有开启SELinux,在现象上会有什么不同?
我们有两台服务器,第一台上Docker开启了SELinux,而第二台没有。两台上面都有运行nginx容器,执行如下命令对比一下: