在我们安装完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
一般来说,也是没有问题的、但是如果是使用K8S / 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
标签:systemd,Driver,Runtimes,Cgroup,cgroupfs,docker From: https://www.cnblogs.com/5201351/p/17378977.html