温馨提示×

docker在centos卡怎么办

小樊
45
2026-09-02 18:12:18
栏目: 智能运维

Docker 在 CentOS 上“卡”可能表现为:启动慢、命令无响应、容器运行卡顿、docker ps 都卡住 等。下面按常见原因给你一套排查和解决思路。


一、先确认“卡”在哪里

docker version
docker info
docker ps
  • 如果 docker version 客户端都卡 → Docker 服务本身有问题
  • 如果 docker ps 卡但 docker images 正常 → 可能是容器/存储问题
  • 如果是容器内部卡 → 资源或镜像问题

二、最常见原因 & 解决办法

1️⃣ Docker 服务没起来或卡死

systemctl status docker
journalctl -u docker -n 100 --no-pager

解决:

systemctl restart docker

如果重启也卡:

pkill dockerd
rm -f /var/run/docker.pid
systemctl start docker

2️⃣ 存储驱动问题(非常常见)

CentOS 默认有时会用 devicemapper,容易卡。

查看:

docker info | grep Storage

✅ 推荐改用 overlay2(CentOS 7.4+ 支持):

cat > /etc/docker/daemon.json <<EOF
{
  "storage-driver": "overlay2"
}
EOF

systemctl restart docker

⚠️ 改之前最好备份容器和数据


3️⃣ 磁盘空间 / inode 满了

df -h
df -i

Docker 很怕 /var/lib/docker 满。

清理:

docker system prune -a

或手动:

rm -rf /var/lib/docker/overlay2/*

4️⃣ 内存 / CPU 不足

free -h
top

Docker 在资源紧张时会非常卡。

建议:

  • 最少 2G 内存
  • 避免容器无限制占用

限制容器资源:

docker run -m 1g --cpus=1 nginx

5️⃣ firewalld / SELinux 冲突

CentOS 特有坑。

临时关闭测试:

setenforce 0
systemctl stop firewalld

如果好了,再配置规则而不是长期关闭。


6️⃣ Docker 版本太旧

CentOS 自带 repo 的 Docker 很老。

✅ 建议用官方源:

yum remove docker docker-client docker-common
yum install -y yum-utils
yum-config-manager --add-repo \
  https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io

三、如果是“容器运行卡”

  • 查看日志:
docker logs 容器名
  • 进容器看:
docker exec -it 容器名 bash
top

四、终极建议(生产环境)

✅ CentOS 7 + Docker CE + overlay2
✅ 不用 devicemapper
✅ 定期 docker system prune
✅ 资源做限制


如果你愿意,可以告诉我:

  • CentOS 版本
  • Docker 版本
  • 卡的具体表现(命令/容器/启动)

我可以给你更精准的方案。

0