docker启用cgroup v2

要求

本人的操作系统是kali,基于debian

bash 复制代码
docker info

如果你这里是2那么说明启用了,如果是1,那么就未启用

对于Docker来说,Cgroups v2的使用需要满足以下条件:

  • Linux内核版本在4.15以上。

    • uname -r
  • 系统已经启用Cgroups v2,可以通过sudo mount -t cgroup2 none /sys/fs/cgroup命令来启用。

  • Docker版本在20.10及以上。

    • docker version

启用cgroup v2

编辑 /etc/default/grub 或者 /etc/sysconfig/grub,添加以下内容来启用cgroup v2:

php 复制代码
GRUB_CMDLINE_LINUX="cgroup_no_v1=all systemd.unified_cgroup_hierarchy=1"

保存文件后,运行以下命令更新GRUB配置:

bash 复制代码
update-grub   # 对于Debian/Ubuntu
grub2-mkconfig -o /boot/grub2/grub.cfg   # 对于CentOS/Fedora

重启系统以应用内核启动参数。

bash 复制代码
reboot

确认cgroup v2已经启用。运行以下命令:

bash 复制代码
mount | grep cgroup

你应该会看到类似以下的输出,其中cgroup2被挂载:

cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime)

启动Docker服务。如果你已经按照上面的步骤进行了配置,Docker会自动检测并使用cgroup v2。

确认Docker是否在cgroup v2中运行。运行以下命令:

bash 复制代码
docker info

回退到cgroup v1

如果你想在配置回去

编辑原来的grub文件配置为

bash 复制代码
GRUB_CMDLINE_LINUX="cgroup_no_v1=all systemd.unified_cgroup_hierarchy=0"

运行指令

shell 复制代码
sudo update-grub
reboot

参考

相关推荐
卡戎-caryon2 分钟前
【Linux网络与网络编程】12.NAT技术&&内网穿透&&代理服务
linux·运维·服务器·网络·网络协议·https
我的老子姓彭4 分钟前
LWIP的Socket接口
运维·服务器·网络
朱包林6 分钟前
day10-别名-MD5,aide-堡垒机
linux·运维·安全·ubuntu·centos·云计算
GoWjw1 小时前
Linux虚拟文件系统(1)
运维·服务器·数据库
luck_me51 小时前
基于 Kubernetes 部署容器平台kubesphere
云原生·容器·kubernetes
小白要努力sgy1 小时前
深入理解Docker和K8S
docker·kubernetes
青春不流名1 小时前
ctr查看镜像
docker
SunTecTec1 小时前
Linux grep -r 查找依赖包是否存在依赖类 Class
linux·运维·服务器
意倾城1 小时前
Docker 网络
docker·容器
Johny_Zhao2 小时前
AI+自动化测试系统方案:网络设备与网络应用智能测试
linux·网络·人工智能·python·网络安全·docker·ai·信息安全·云计算·ansible·shell·cisco·huawei·系统运维·itsm·华三·deepseek