我已经应用了互联网上所有可用的解决方案,但我仍然不能运行Docker。

我想在我的服务器上使用Scrapy Splash。

下面是我运行的命令的历史。

docker run -p 8050:8050 scrapinghub/splash
sudo docker run -p 8050:8050 scrapinghub/splash
sudo usermod -aG docker $(whoami)
sudo docker run -p 8050:8050 scrapinghub/splash
newgrp docker
sudo docker run -p 8050:8050 scrapinghub/splash
reboot
sudo docker run -p 8050:8050 scrapinghub/splash
docker run -p 8050:8050 scrapinghub/splash

你可以看到我试图重新启动我的服务器,但它没有帮助。

参见ps -aux | grep docker的输出

root@mani:/var/www/html# ps aux | grep docker
root      8524  0.0  0.8 127904 13964 ?        Ssl  17:21   0:00 /usr/bin/dockerd --raw-logs
root      8534  0.0  0.3  90588  5012 ?        Ssl  17:21   0:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc
root      8543  0.0  0.0   8812   764 pts/1    S+   17:21   0:00 grep --color=auto docker
root     16356  0.0  0.0  17200   964 pts/1    S    17:14   0:00 newgrp docker
root     20080  0.0  0.0  17200   964 pts/1    S    17:06   0:00 newgrp docker
root     30221  0.0  0.0  17200   964 pts/1    S    17:09   0:00 newgrp docker

但它给出了错误:

unix:///var/run/ Docker .sock无法连接到Docker守护进程。docker守护进程正在运行吗?


当前回答

我在拉集装箱时关闭docker后遇到了这个问题:

docker pull mongo

起初,我得到奇怪的错误,所以我清除docker:

sudo apt-get purge docker.io

和重新安装:

sudo apt-get install docker.io

所有这些都无济于事;我甚至无法运行"hello-world"容器。

至少对我来说,正确的解决方法是:

systemctl unmask docker.service
systemctl unmask docker.socket
systemctl start docker.service

在这之后,我可以拉mongo和运行“hello world”。

其他回答

它发生在docker还没有启动的时候。

请检查docker状态

$ sudo systemctl status docker

然后启动并启用docker,并重新检查状态

$ sudo systemctl start docker && sudo systemctl enable docker && sudo systemctl status docker

这是它。现在检查docker的最后一步工作正常

$ sudo docker run hello-world

我没看到有人提到这个解决方案,所以我把它贴出来,说不定能帮到别人。我在MacOS机器上遇到了这个错误。原因是我在dotfiles中设置了DOCKER_HOST环境变量。通过unset DOCKER_HOST来取消它就可以了。我在Mac文档的官方docker中找到了这个技巧:https://docs.docker.com/desktop/mac/troubleshoot/#workarounds-for-common-problems。

这个异常发生在docker服务没有运行或者登录用户没有权限访问docker的情况下,通常在RedHat中出现

使用下面的命令可以解决这个问题

Sudo服务docker启动

对我来说,错误的原因是我强迫退出的docker桌面。 所以重新启动docker桌面为我工作,错误得到解决。

在Windows 11和ubuntu 22上执行命令wsl.exe——update .exe 在powershell帮助我通过容器运行docker,因为它是在Windows 10上

在此之前,我得到无法连接到Docker守护进程在unix:/var/run/ Docker .sock。docker守护进程正在运行,这在我的windows 10 ubuntu 20.04上没有发生,设置相同。

从普通的sudo服务docker启动