清理与重装Docker的完整步骤
·
停止Docker服务并清理残留文件
执行以下命令彻底停止Docker相关进程并删除所有配置文件:
systemctl stop docker
pgrep -f 'docker|containerd|dockerd' | xargs -I {} sh -c 'echo "Killing PID: {}"; kill -9 {}'
rm -rf /usr/bin/docker* /usr/bin/containerd* /usr/bin/runc /usr/bin/ctr
rm -rf /var/lib/docker/*
rm -rf /var/run/docker* /var/run/containerd*
rm -rf /etc/docker
rm -rf /etc/systemd/system/docker.service
下载稳定版Docker二进制文件
推荐使用26.1.4版本以避免最新版潜在问题:
wget https://download.docker.com/linux/static/stable/x86_64/docker-26.1.4.tgz
tar -xvf docker-26.1.4.tgz
cp docker/* /usr/bin/
配置基础服务文件
创建简化版systemd服务配置:
cat <<EOF > /etc/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service containerd.service
Wants=network-online.target
[Service]
Type=simple
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP \$MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
EOF
最小化daemon配置
创建仅包含核心参数的配置文件:
mkdir -p /etc/docker
cat <<EOF > /etc/docker/daemon.json
{
"data-root": "/var/lib/docker",
"hosts": ["unix:///var/run/docker.sock"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}
EOF
启动与验证
重新加载服务配置并检查启动日志:
systemctl daemon-reload
systemctl start docker
journalctl -u docker -f
验证时应重点关注是否出现"Loading containers: start."日志条目,成功加载容器表示服务恢复正常。若遇到权限问题,可尝试执行chmod +x /usr/bin/docker*赋予可执行权限。
更多推荐

所有评论(0)