docker服务异常启动失败解决方法

docker服务异常启动失败解决方法_第1张图片根据给出的systemctl status docker输出,Docker服务处于失败状态,并且显示“exit-code”和“status=1/FALLURE”(这里可能有拼写错误,应该是FAILURE)。此外,日志中提到“Start request repeated too quickly.”,这表明Docker在尝试重启时频繁失败,导致systemd停止继续尝试。


先检查/etc/docker/daemon.json配置:
华为镜像加速器:

{
    "registry-mirrors": [ "https://<你的镜像加速器地址>.mirror.swr.myhuaweicloud.com" ]
}

如果还未解决,请按照以下步骤操作:

1. 检查详细日志

查看完整的Docker服务日志以定位具体错误:

sudo journalctl -u docker.service --since "10 minutes ago"

2. 验证containerd状态

Docker依赖containerd,确保其正常运行:

systemctl status containerd
  • 如果未运行,启动并启用:
    sudo systemctl start containerd
    sudo systemctl enable containerd
    

3. 检查Docker配置文件

临时移除或修复可能出错的配置文件:

sudo mv /etc/docker/daemon.json /etc/docker/daemon.json.bak
sudo systemctl restart docker

4. 修复存储驱动问题

如果存储驱动配置不当,在daemon.json中明确指定:

echo '{"storage-driver":"overlay2"}' | sudo tee /etc/docker/daemon.json
sudo systemctl restart docker

5. 检查端口冲突

确保Docker使用的端口(如2375/2376)未被占用:

sudo lsof -i :2375
  • 若有冲突,修改Docker配置或终止占用进程。

6. 清理Docker残留文件

重置Docker环境(注意:此操作会删除所有容器和镜像):

sudo systemctl stop docker
sudo rm -rf /var/lib/docker/*
sudo systemctl start docker

7. 重新安装Docker

如果以上步骤无效,尝试完全卸载后重新安装:

sudo apt-get purge docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker

8. 检查系统资源

确保磁盘空间和内存充足:

df -h      # 检查磁盘空间
free -h    # 检查内存使用

9. 调试模式启动

docker.service中启用调试日志:

sudo sed -i 's/^ExecStart=.*/& -D/' /lib/systemd/system/docker.service
sudo systemctl daemon-reload
sudo systemctl start docker

执行上述步骤后,再次检查状态:

systemctl status docker

如果问题仍未解决,请根据journalctl输出的具体错误信息进一步调整。

你可能感兴趣的:(笔记,docker,eureka,容器)