我在CentOS 7.2操作系统的顶部使用docker引擎v1.12构建了3个不同的应用程序容器,即Nginx,mysql和mongo。我想根据应用程序及其各自的容器应用不同的内核设置。
例如,我想在Mongo和mysql容器上将vm.zone_reclaim_mode
设置为0
,而要在nginx容器上将vm.zone_reclaim_mode
设置为1
。我尝试使用docker --privileged
命令初始化镜像,并修改了内核设置,但更改了主机操作系统的设置,并将其应用于所有容器。
我已经阅读了许多文档,并了解容器与主机内核一起运行。
我想知道有什么方法可以保留特定于容器的内核设置吗?
最佳答案
很快-不,如果您要同时运行容器,则不能这样做。
为什么?这是What is Docker?第一页的引文
Lightweight
Containers running on a single machine share the same operating system kernel; they start instantly and use less RAM. Images are constructed from layered filesystems and share common files, making disk usage and image downloads much more efficient.
Docker完全不同于具有自己内核的VM。
docker实际上是由主机系统内核驱动的,因此一次运行的所有容器都共享相同的内核配置
关于docker - 如何在Docker容器上应用内核调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40191574/