当Docker在Ubuntu上无法启动时,可以按照以下步骤进行排查和修复:
首先查看Docker服务的状态:
sudo systemctl status docker
如果服务未运行,尝试启动:
sudo systemctl start docker
查看详细的错误日志:
sudo journalctl -u docker --no-pager -n 50
# 或
sudo tail -n 50 /var/log/docker.log
sudo rm -rf /var/lib/docker/*
sudo systemctl start docker
确保当前用户在docker组中:
sudo usermod -aG docker $USER
newgrp docker
检查端口是否被占用:
sudo netstat -tulnp | grep 2375
sudo modprobe overlay
sudo modprobe br_netfilter
如果以上方法无效,考虑重新安装:
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
确保系统满足Docker要求:
- 64位系统
- 内核版本3.10或更高
- 检查内核版本:uname -r
检查Docker配置文件:
sudo cat /etc/docker/daemon.json
确保防火墙未阻止Docker:
sudo ufw allow 2375/tcp
sudo ufw allow 2376/tcp
有时简单重启可以解决问题:
sudo reboot
如果问题仍然存在,请根据具体错误信息进一步排查或提供错误日志以便更精确的诊断。