在 Debian 上运行的 Docker 占用高,通常不是 Docker 本身“吃资源”,而是容器 / 镜像 / 系统配置导致的。下面按常见原因逐一说明,并给出排查与解决办法。
这是第一嫌疑。
排查:
docker stats
看哪些容器:
常见情况:
解决:
docker run -m 512m --cpus=1 ...
或在 docker-compose.yml:
deploy:
resources:
limits:
memory: 512M
cpus: "1.0"
Docker 默认日志不限制大小。
查看:
du -sh /var/lib/docker/containers/*
解决(全局限制):
编辑 /etc/docker/daemon.json:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
重启 Docker:
systemctl restart docker
Docker 不会自动清理。
查看占用:
docker system df
清理(谨慎):
docker system prune -a
⚠️ 会删除:
Debian 默认用 overlay2,但:
查看:
df -h
df -i
建议:
少见,但会发生。
检查:
systemctl status docker
journalctl -u docker
Debian 服务器常没 swap。
查看:
free -h
swapon --show
建议加 swap:
fallocate -l 2G /swapfile
mkswap /swapfile
swapon /swapfile
表现:
建议:
docker stats
docker system df
df -h
df -i
free -h
du -sh /var/lib/docker/*
你可以补充:
docker stats 截图我可以直接帮你定位到具体容器或配置问题。