步骤1:停止Docker服务及残留进程
# 停止Docker服务
systemctl stop docker
# 验证Docker是否停止(输出inactive即为成功)
systemctl status docker | grep Active
# 停止所有Docker相关残留进程(解决启动失败后残留问题)
pkill -f containerd-shim 2>/dev/null
pkill -f dockerd 2>/dev/null
步骤2:删除冲突的daemon.json配置文件
# 备份daemon.json(避免后续需要恢复)
mv /etc/docker/daemon.json /etc/docker/daemon.json.bak 2>/dev/null
# 确认删除(无输出即为删除成功)
ls /etc/docker/daemon.json
步骤3:修正docker.service配置(核心步骤)
# 编辑docker.service配置文件
vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd $OPTIONS \
$DOCKER_STORAGE_OPTIONS \
$DOCKER_NETWORK_OPTIONS \
$INSECURE_REGISTRY --bridge=none
步骤4:重新加载配置并启动Docker
# 重新加载systemd配置(让修改后的docker.service生效)
systemctl daemon-reload
# 启动Docker服务
systemctl start docker
# 验证Docker启动状态(输出active (running)即为启动成功)
systemctl status docker.service | grep Active
# 查看所有网卡(无docker0输出即为成功)
ifconfig
# 查看172.17.0.1IP是否存在(无输出即为成功)
ip addr | grep 172.17.0.1
# 验证Docker启动参数(能看到--bridge=none即为配置生效)
ps -ef | grep dockerd | grep bridge
# 启动示例容器(pipy-proxy),使用host网络模式
docker run -d --network host --name nginx-test nginx:latest
# 验证容器是否正常运行(输出Up即为成功)
docker ps