Ubuntu 20.04环境Docker启动异常:执行start后仍未运行
问题描述
在Saturn Cloud托管的Ubuntu 20.04镜像中配置Docker守护进程,执行了以下安装命令:
curl -sSL https://get.docker.com/ | sudo sh sudo apt-get -y update sudo apt-get -y upgrade
(注:原命令中的url应为curl,属于输入笔误)
执行镜像拉取操作时出现错误:
jovyan@w-rodri-example-pytorch-32440c07a5bd43b08f4648e6cb393963-7j6j5m:~/modulus$ sudo docker pull nvcr.io/nvidia/pytorch:20.07-py3 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
执行sudo service docker start返回[OK],但service docker status显示Docker未运行,且无任何错误提示。
排查与修复方案
一、日志排查(定位根本原因)
- 查看Docker服务的系统日志,这是最直接的排障方式:
日志中会记录启动失败的具体细节,比如配置错误、依赖缺失、权限问题等。sudo journalctl -u docker.service - 查看Docker本地日志文件:
若journalctl信息不足,该文件可能包含更细节的启动报错。cat /var/log/docker.log
二、常见修复步骤
修复Docker Socket权限
Docker客户端通过/var/run/docker.sock与守护进程通信,权限异常会导致连接失败:sudo chmod 666 /var/run/docker.sock sudo chown root:docker /var/run/docker.sock sudo systemctl restart docker检查并修复Docker配置文件
错误的daemon.json配置会导致守护进程启动失败:cat /etc/docker/daemon.json若发现JSON语法错误或无效配置,先备份再移除:
sudo mv /etc/docker/daemon.json /etc/docker/daemon.json.bak sudo systemctl restart docker确认Saturn Cloud环境限制
Saturn Cloud的托管实例可能本身运行在容器中,这种情况下需要特权模式才能启动Docker:
检查当前环境是否为容器:cat /proc/1/cgroup若输出包含
docker或containerd,说明当前实例是容器化环境,需联系Saturn Cloud支持确认是否允许开启特权模式运行Docker。重装Docker组件
若升级过程中依赖包损坏,可彻底重装Docker:sudo apt-get purge docker-ce docker-ce-cli containerd.io sudo rm -rf /var/lib/docker /var/lib/containerd curl -sSL https://get.docker.com/ | sudo sh sudo systemctl start docker
内容的提问来源于stack exchange,提问作者Yan Werneck
相关产品推荐
相关产品推荐

