我已经应用了互联网上所有可用的解决方案,但我仍然不能运行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 run hello-world unix: /var/run/docker.sock无法连接到Docker守护进程。docker守护进程正在运行吗?

这是一个解决方案,对我很有效。 环境

Windows 10(别忘了在Windows上启用:设置>更新和安全>开发人员模式) Ubuntu 18.04 LTS Docker Desktop版本2.3.0.2 (45183) 在Docker Desktop中启用:在tcp: // localhost: 2375上不带TLS暴露守护进程 Docker Desktop也必须正在运行(连接到Docker Hub…登录即可)

安装ubuntu后,更新存储库

sudo apt-get update

通过HTTPS使用存储库

sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

添加Docker官方GPG密钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

确保您现在拥有带有指纹的钥匙

sudo apt-key fingerprint 0EBFCD88

更新存储库

sudo apt-get update

更新docker存储库

sudo add-apt-repository "deb [arch = amd64] https://download.docker.com/linux/ubuntu $ (lsb_release -cs) stable "

再次更新存储库

sudo apt-get update

命令:5:18.09.9 ~ 3-0 ~ ubuntu-bionic安装docker

sudo apt-get install docker-ce = 5: 18.09.9 ~ 3-0 ~ ubuntu-bionic docker-ce-cli = 5: 18.09.9 ~ 3-0 ~ ubuntu-bionic containerd.io

命令设置DOCKER_HOST . conf

export DOCKER_HOST="tcp://0.0.0.0:2375"

注意:把上面的命令放在你的配置文件中,从ubunto开始 例:echo "出口DOCKER_HOST = " tcp: / / 0.0.0.0:2375 " > > ~ / . bashrc

将用户添加到docker组

sudo usermod -aG docker $USER

重新启动ubuntu

(关闭并重新打开ubuntu窗口) 或运行:

source ~/.bashrc

测试安装(不要在docker命令之前使用更多的sudo(它会给出一个错误),用户“root”已经包含在docker组中)

docker run hello-world

应该会显示下面的消息

来自Docker的你好! 此消息显示您的安装似乎正在正常工作。

注意:如果失败,请重新执行命令:

export DOCKER_HOST="tcp://0.0.0.0:2375"

参考:https://docs.docker.com/engine/install/ubuntu/ 会话:安装DOCKER引擎

其他版本的docker可以安装在ubuntu中,请使用下面的命令查看存储库: Apt-cache Madison docker-ce

然后安装所需版本的docker:

sudo apt-get install docker-ce = <VERSION_STRING> docker-ce-cli = <VERSION_STRING> containerd.io

其他回答

这对你来说可能有点晚了,但希望它能帮助别人在码头工人的丛林中找到自己的路。 该问题可能来自tcp端口绑定问题 验证该文件是否存在

/etc/systemd/system/docker.service.d

这是默认的UNIX套接字监听覆盖文件。该文件实际上可能是空的,但我发现它存在的事实有时会导致一些头痛,就像你所面临的。 如果存在1.单击“确定”。然后2。如果不是,直接转到2。

1. $ sudo rm -rf /etc/systemd/system/docker.service.d

2. $ sudo systemctl deamon-reload

我发现这里的一些建议忽略了实际守护进程无法加载的错误

和docker一起玩的好朋友是

$ systemctl status docker.service

确保/etc/docker/daemon.json路径下的信息

{
  "registry-mirror": [
    "https://registry.docker-cn.com"
  ],
  "insecure-registries": [
    "192.168.199.100:5000"
  ]
}

删除

"insecure-registries": [
    "192.168.199.100:5000"
]

运行良好 在这里输入图像描述

对于那些刚安装并试图在RaspberryPi (RPi)上运行docker的人,我需要重新启动我的RPi 4B+来解决这个问题,并实际运行docker守护进程。

在写这篇文章的时候,这本伟大的手册确实提到了重启RPi的必要性,但只有在设置“非根用户到Docker组”之后。

HTH,如果有人像我一样想念这个…

我只是简单地忘记了在我的mac上运行Docker桌面,在运行Docker桌面之后,你就会很好了。

我想如果你正在使用带有GUI的WSL,那么你可以尝试一下

sudo /etc/init.d/docker start