Mac版Docker Desktop能否降级至cgroup v1?是否有配置参数?
Mac版Docker Desktop降级至cgroup v1的方法
可以降级到cgroup v1,但无法通过daemon.json直接配置——因为Mac上的Docker Desktop是运行在LinuxKit虚拟机中的,cgroup版本由虚拟机内核参数决定,需要修改虚拟机的启动配置:
操作步骤
- 完全退出Docker Desktop:右键点击顶部托盘的Docker图标,选择「Quit Docker Desktop」,确保进程完全终止。
- 根据你的芯片类型(你的环境是aarch64,对应Apple Silicon),在终端执行以下命令:
如果你是Intel芯片Mac,执行:defaults write com.docker.driver.amd64 LinuxKitFlags -array-add "-systemd.unified_cgroup_hierarchy=0"defaults write com.docker.docker HypervisorOptions -dict-add "kernel-args" "-systemd.unified_cgroup_hierarchy=0" - 重新启动Docker Desktop。
- 验证配置:终端运行
docker info,查看输出中的Cgroup Version字段,确认已变为1。
恢复cgroup v2的方法
如果之后需要切回cgroup v2,执行对应命令删除内核参数:
- Apple Silicon:
defaults delete com.docker.driver.amd64 LinuxKitFlags - Intel芯片:
defaults delete com.docker.docker HypervisorOptions kernel-args
执行后重启Docker Desktop即可生效。
补充说明
daemon.json中没有控制cgroup版本的参数,因为cgroup是内核级别的特性,Docker daemon只能适配已有的cgroup环境,无法直接修改内核的cgroup版本配置。
内容的提问来源于stack exchange,提问作者qrtt1
相关产品推荐
相关产品推荐

