如何在docker容器上应用内核调优

时间:2016-10-22 11:27:32

标签: docker linux-kernel

我在CentOS 7.2操作系统的顶部构建了3个不同的应用程序容器和docker engine v1.12,即Nginx,mysql和mongo。我想根据应用程序及其各自的容器应用不同的内核设置。

例如,我想在Mongo和mysql容器上将vm.zone_reclaim_mode设置为0,而希望在{nginx容器上保持vm.zone_reclaim_mode1。我尝试使用docker --privileged命令启动映像,并修改了内核设置,但修改了主机操作系统的设置,并将其应用于所有容器。

我已经阅读了许多文档,并了解容器与主机内核一起运行。

我想知道有没有办法保持容器特定的内核设置?

1 个答案:

答案 0 :(得分:2)

很快 - 不,如果您要同时运行容器,则不能这样做。

为什么呢?以下是What is Docker?

第一页的引用
  

<强>轻型

     

在一台计算机上运行的容器共享相同的操作系统内核;它们立即启动并使用较少的RAM。图像是从分层文件系统构建的,并共享公共文件,使磁盘使用和图像下载更加高效。

Docker与拥有自己内核的VM完全不同。

有效的docker由主机系统内核驱动,因此一次运行的所有容器共享相同的内核配置