一 摘要

docker 日常维护

二 基础维护

2.1 docker 命令卡主

2.1.1 问题描述

docker 状态正常,但是执行命令 卡主,没有输出,如docker ps 等命令

root@skynet24:~$ systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/etc/systemd/system/docker.service; enabled; vendor preset: disabled)
     Active: active (running) since Fri 2026-04-17 18:16:37 CST; 2 days ago
       Docs: https://docs.docker.com
   Main PID: 2450382 (dockerd)
      Tasks: 4904 (limit: 3355442)
     Memory: 1.3T
     CGroup: /system.slice/docker.service
             ├─ 148810 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 688ccf56bda8808fa9ae5057fec90b758f67cf4bf61803f1de5fb958ddbfb2f5 -address >
             ├─ 151444 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 91692b5d1723b2b2500956fd64eafda31de4ea56d05002c2a3f22000fef3d035 -address >
             ├─ 499795 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 37c941e7bc2c974ef3015ee3420e21e5d44d15765d0c254204dba30b5543b4c5 -address >
             ├─ 499816 /usr/bin/runc --root /var/run/docker/runtime-runc/moby --log /var/run/docker/containerd/daemon/io.containerd.runtime.v2.task/mo>
             ├─ 499917 libnetwork-setkey -exec-root=/var/run/docker 37c941e7bc2c974ef3015ee3420e21e5d44d15765d0c254204dba30b5543b4c5 72130b7c8439
             ├─ 502589 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 23792f1f2c45079940c32d14358cf90d865e9fb791de9a654fe2543ab0c46cc3 -address >
             ├─ 502635 /usr/bin/runc --root /var/run/docker/runtime-runc/moby --log /var/run/docker/containerd/daemon/io.containerd.runtime.v2.task/mo>
             ├─ 503134 libnetwork-setkey -exec-root=/var/run/docker 23792f1f2c45079940c32d14358cf90d865e9fb791de9a654fe2543ab0c46cc3 72130b7c8439
             ├─ 524220 /usr/bin/containerd-shim-runc-v2 -namespace moby -id afc20b77b3a7edeadd809ade5737051e16a860fccfb9396ebfe5e94d4af0634c -address >
             ├─ 524233 /usr/bin/runc --root /var/run/docker/runtime-runc/moby --log /var/run/docker/containerd/daemon/io.containerd.runtime.v2.task/mo>
             ├─ 524487 libnetwork-setkey -exec-root=/var/run/docker afc20b77b3a7edeadd809ade5737051e16a860fccfb9396ebfe5e94d4af0634c 72130b7c8439
             ├─ 527987 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 1c3c23ff7fbd2844375e68a3b6a592f7aa693d41acb5489ebba6df74168f4c01 -address >
             ├─ 527998 /usr/bin/runc --root /var/run/docker/runtime-runc/moby --log /var/run/docker/containerd/daemon/io.containerd.runtime.v2.task/mo>
             ├─ 528288 libnetwork-setkey -exec-root=/var/run/docker 1c3c23ff7fbd2844375e68a3b6a592f7aa693d41acb5489ebba6df74168f4c01 72130b7c8439
             ├─ 876716 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 15a189db2b2f1d282270d151e6fe976cda35407c2e43f22533e882fde229f089 -address >
             ├─ 958162 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 9615ff04cb2b5d59cc97fd7fe959ae5177a2baa113b7b5bafd361ac991f1a0ff -address >
             ├─2450382 /usr/bin/dockerd
             ├─2450425 containerd --config /var/run/docker/containerd/containerd.toml --log-level warn
             ├─2480245 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 33000 -container-ip 192.168.144.2 -container-port 3000
             ├─2480273 /usr/bin/containerd-shim-runc-v2 -namespace moby -id b5b4651d2093f5a1120d4bacd7fd72826b5a51b6810803d227481b34be01d58d -address >
             ├─2480315 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 2c4fa5521b4a4ced5f9d4aa07f542367955e017578ffa5f63837401a74d05a2b -address >
             ├─2480563 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 9443 -container-ip 172.18.0.2 -container-port 9443
             ├─2480569 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 10158 -container-ip 172.17.0.2 -container-port 9100
             ├─2480585 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 5656 -container-ip 172.21.0.2 -container-port 5678
             ├─2480623 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 51beca1dbb4e551c45c939f80e1cd0c3c7543168fddec5d4dd198e377c07d7ce -address >
             ├─2480668 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 981f965b721de5104fed5c72e664dce9ece7875225a50c819fbd35654ed15a6e -address >
             ├─2480762 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 5003 -container-ip 192.168.144.3 -container-port 5003
             ├─2481303 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 545748acd367fe05f56747cb521de85d203fa690f029292c3cda8aa39a4b97cc -address >
             ├─2481390 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 9180 -container-ip 172.18.0.2 -container-port 9180
             ├─2481399 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 18888 -container-ip 123.21.3.33 -container-port 80
             ├─2481436 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 9bb6fa958fb946180c70e4a0d2ce56e9437565d6ed863278431586db4c8e228f -address >
             ├─2481472 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 38080 -container-ip 172.17.0.3 -container-port 8080
             ├─2481506 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 35002 -container-ip 192.168.144.3 -container-port 5002
             ├─2481579 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 596bb6beb011f303f33a9fb59daceeeb779bf22cf8a133209ae443b025f8fddb -address >

root@skynet24:~$ free -h
               total        used        free      shared  buff/cache   available
Mem:           2.0Ti       1.5Ti        18Gi       5.4Gi       450Gi       454Gi
Swap:             0B          0B          0B
root@skynet24:~$ docker images
^C
root@skynet24:~$ docker ps -a
^C
root@skynet24:~$ 

2.1.2 解决办法

# 1. 强制kill所有containerd相关进程(使用具体PID)
kill -9 1957311 1965593 1965601 2>/dev/null

# 2. 彻底清理所有Docker相关进程
pkill -9 -f docker
pkill -9 -f containerd
pkill -9 -f runc
pkill -9 -f shim

# 3. 等待5秒确保进程完全退出
sleep 5

# 4. 验证是否还有残留
ps aux | grep -E "docker|containerd|runc|shim" | grep -v grep
# 1. 清理所有socket文件
rm -f /var/run/docker.sock
rm -f /var/run/docker.pid
rm -f /var/run/containerd/containerd.sock
rm -f /run/containerd/containerd.sock

# 2. 清理运行时目录
rm -rf /var/run/docker/
rm -rf /var/run/containerd/
rm -rf /run/docker/
rm -rf /run/containerd/

# 3. 清理可能的锁文件
rm -f /var/lib/containerd/*.lock 2>/dev/null
rm -f /var/lib/docker/*.lock 2>/dev/null
# 1. 先启动containerd
systemctl start containerd

# 2. 检查containerd状态
systemctl status containerd --no-pager

# 3. 等待3秒
sleep 3

# 4. 启动Docker
systemctl start docker

# 5. 检查Docker状态
systemctl status docker --no-pager

更多推荐