关于docker的Cgroup Driver相关的配置说明以及其值为cgroupfs与systemd的区别

发布时间 2023-05-07 10:27:13作者: 520_1351

在我们安装完docker-ce软件后(笔者这里安装的docker-ce-20.10.24-3.el8.x86_64)

就可以直接启动docker服务 systemctl restart docker.service

这时我们通过 docker info 命令,可以看到当前docker的一些配置信息,今天笔者主要是看Cgroup Driver相关的,如下:

[root@k8s-master qq-5201351]# docker info | grep -E "Cgroup Driver|Runtimes"
 Cgroup Driver: cgroupfs
 Runtimes: runc io.containerd.runc.v2 io.containerd.runtime.v1.linux

可以看到,默认情况下,笔者安装的这个docker,使用的Cgroup Driver是 cgroupfs,应该新版本的也是使用的这 cgroupfs

一般来说,也是没有问题的、但是如果是使用Kubernetes时,如笔者使用的 v1.23.6版本,再初始化时就有报错,要求不能是cgroupfs

那么这种情况下,我们就还可以将 Cgroup Driver 设置为systemd

设置方法,需要在/etc/docker/daemon.json配置文件中,至少需要添加上如下一段内容(如果有其他配置选项,如registry-mirrors 也可以添加到花括号之中)

{
"exec-opts":["native.cgroupdriver=systemd"]
}

然后需要重启docker才能生效(这种Cgroup Driver的配置,使用reload的方式是不能生效的),然后再查看时,Cgroup Driver就变成 systemd 了

[root@k8s-master qq-5201351]# docker info | grep -E "Cgroup Driver|Runtimes"
 Cgroup Driver: systemd
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc

说明:笔者之所以只查看Cgroup Driver|Runtimes 这两个关键词信息,是因为笔者验证过,修改 Cgroup Driver,docker info只是上面的两个字段值不一样

 

 

 

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17378977.html