我在CentOS 7.2操作系统的顶部构建了3个不同的应用程序容器和docker engine v1.12,即Nginx,mysql和mongo。我想根据应用程序及其各自的容器应用不同的内核设置。
例如,我想在Mongo和mysql容器上将vm.zone_reclaim_mode
设置为0
,而希望在{nginx容器上保持vm.zone_reclaim_mode
到1
。我尝试使用docker --privileged
命令启动映像,并修改了内核设置,但修改了主机操作系统的设置,并将其应用于所有容器。
我已经阅读了许多文档,并了解容器与主机内核一起运行。
我想知道有没有办法保持容器特定的内核设置?
答案 0 :(得分:2)
很快 - 不,如果您要同时运行容器,则不能这样做。
为什么呢?以下是What is Docker?
第一页的引用<强>轻型强>
在一台计算机上运行的容器共享相同的操作系统内核;它们立即启动并使用较少的RAM。图像是从分层文件系统构建的,并共享公共文件,使磁盘使用和图像下载更加高效。
Docker与拥有自己内核的VM完全不同。
有效的docker由主机系统内核驱动,因此一次运行的所有容器共享相同的内核配置