关于Docker报错问题解决:Docker fails to start containers with cgroup memory allocation error.
docker容器报错,报错信息如下:
OCI runtime create failed: container_linux.go:346: starting container process caused "process_linux.go:297: applying cgroup configuration for process caused \"mkdir /sys/fs/cgroup/memory/docker/61f9e2e98bd162422f4fb7b94f6aab133bf5d930fad5c9dc92ac669c39319576: cannot allocate memory\"": unknown
[root@REDACTED]# docker run hello-world docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:279: applying cgroup configuration for process caused \"mkdir /sys/fs/cgroup/memory/docker/fe4159ed6f4ec16af63ba0c2af53ec9c6b0c0c2ac42ff96f6816d5e28a821b4e: cannot allocate memory\"": unknown. ERRO[0000] error waiting for container: context canceled
解决办法如下:
1.检查docker容器启动时候的内存配置;如果内存配置太低,建议修改,调整并增大内存。
2.禁用swap:
一、不重启电脑,禁用启用swap,立刻生效
# 禁用命令 sudo swapoff -a # 启用命令 sudo swapon -a # 查看交换分区的状态 sudo free -m
二、重新启动电脑,永久禁用Swap
# 把根目录文件系统设为可读写 sudo mount -n -o remount,rw / # 用vi修改/etc/fstab文件,在swap分区这行前加 # 禁用掉,保存退出 vi /etc/fstab i #进入insert 插入模式 :wq #保存退出 # 重新启动电脑,使用free -m查看分区状态 reboot sudo free -m
3.如果还没有解决,建议检查docker版本,或重启docker。
4.其他解决办法:参考:https://www.cnblogs.com/yanglei-xyz/p/container_linux_go_346.html
待续

赠人玫瑰
手留余香
我们曾如此渴望命运的波澜,到最后才发现:人生最曼妙的风景,竟是内心的淡定与从容……我们曾如此期盼外界的认可,到最后才知道:世界是自己的,与他人毫无关系!-杨绛先生
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?