无法连接到 unix:/var/run/docker.sock 上的 Docker 守护程序。docker 守护程序是否正在运行?

2024-10-10 09:29:00
admin
原创
86
摘要:问题描述:我已经应用了互联网上所有可用的解决方案,但仍然无法运行 Docker。我想在我的服务器上使用 Scrapy Splash。这是history我运行的命令。docker run -p 8050:8050 scrapinghub/splash sudo docker run -p 8050:8050 s...

问题描述:

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

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

这是history我运行的命令。

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

但它给出了错误:

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


解决方案 1:

你可以尝试一下这个:

systemctl start docker

对我来说效果很好。

PS:如果有一些命令没有 sudo 就无法执行,请尝试以下操作:

gpasswd -a $USER docker

解决方案 2:

快跑

sudo dockerd

dockerd 是 docker 容器的守护进程服务,由于它没有在后台运行,我们无法采取与该服务相关的任何操作,需要重新启动。

解决方案 3:

我刚刚按照主文档重新安装了 DOCKER,就遇到了这个问题。对我来说,问题是安装后服务没有立即运行。

这些命令将帮助您确保 docker 已启动并正在运行,以便您的运行命令可以找到它:

$ sudo service --status-all 
$ sudo service docker start

解决方案 4:

修复此问题的简单方法,试试这个

sudo su
systemctl start docker
systemctl enable docker
systemctl restart docker

或者

sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl restart docker

解决方案 5:

如果 docker 没有正常关闭,则会出现此错误。以下答案针对的是 docker snap 包。

运行snap logs docker并查找以下内容:

Error starting daemon: pid file found, ensure docker is not running or delete /var/snap/docker/179/run/docker.pid

删除该文件并重新启动docker对我来说有效。

rm /var/snap/docker/<your-version-number>/run/docker.pid
snap stop docker
snap start docker

确保<your-version-number>‍用适当的版本号替换‍‍‍‍。

解决方案 6:

我的操作系统是 Ubuntu 22.04。经过大量研究和浏览大量网站后,我发现以非 root 用户身份运行 Docker 会创建不同的上下文。我的问题已通过使用下面列出的命令得到解决。

docker context ls 
docker context use default 

解决方案 7:

在此处输入图片描述

我只是忘记在我的 Mac 上运行 Docker Desktop,运行 Docker Desktop 后,就可以开始了。

解决方案 8:

首先,尝试使用sudo,因为当前用户可能没有与 docker daemon 通信的访问权限,即:

/var/run/docker.sock

如果仍然不起作用,那么在安装后,只需停止 docker 守护进程:

sudo service docker stop

并且运行以下命令在后台启动守护进程:

sudo nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

为了更轻松地使用 Docker,您应该将用户名添加到 Docker 用户组。可以使用以下命令将用户添加到组:

sudo usermod -aG docker $USER

另外,docker官方文档Linux 的安装后步骤中提到了这一步。

Ubuntu 16.04用户可以按照以下步骤操作:

内部文件/lib/systemd/system/docker.service变更:

ExecStart=/usr/bin/dockerd fd://

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375

内部文件/etc/init.d/docker变更:

DOCKER_OPTS=

DOCKER_OPTS="-H tcp://0.0.0.0:2375"

然后重新启动你的机器,并开始使用docker。

解决方案 9:

如果您还没有停止 docker,通常会发生这种情况。

解决

service docker stop
cd /var/run/docker/libcontainerd
rm -rf containerd/*
rm -f docker-containerd.pid
service docker start

然后“docker run....”下载你的镜像并像往常一样启动容器

解决方案 10:

它对我有用:

sudo systemctl unmask docker
sudo systemctl start docker

解决方案 11:

这对我来说很好..!

service docker restart

解决方案 12:

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

sudo /etc/init.d/docker start

解决方案 13:

在拉取容器时关闭 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”。

解决方案 14:

在 Ubuntu 22 上,“ sudo service docker start ”对我有用。

vikaspiprade@AUMEL-P7750-VP:~$ sudo docker run hello-world
docker: Cannot connect to the Docker daemon at 
unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.
vikaspiprade@AUMEL-P7750-VP:~$ sudo /var/run/docker.sock
sudo: /var/run/docker.sock: command not found
vikaspiprade@AUMEL-P7750-VP:~$ /var/run/docker.sock
-bash: /var/run/docker.sock: Permission denied
vikaspiprade@AUMEL-P7750-VP:~$ sudo service docker stop
* Docker already stopped - file /var/run/docker-ssd.pid not found.
vikaspiprade@AUMEL-P7750-VP:~$ sudo service docker start
* Starting Docker: docker                                                                                       
[ OK ]
vikaspiprade@AUMEL-P7750-VP:~$

在此处输入图片描述

解决方案 15:

如果您使用的是 MAC,只需在 Finder 中输入 docker,它就会自动解析。

解决方案 16:

在 Ubuntu 20.04 和 Docker 版本 20.10.11 上,以非 root 用户身份运行:

sudo service docker start

然后检查状态

sudo service docker status

演出

* Docker is running

但尝试任何docker命令,如

docker images

显示同样的错误

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

运行下面的命令可以解决此问题

sudo service docker restart

重新启动解决了这个问题,但启动没有

解决方案 17:

我以 root 身份运行并尝试了以下操作,它有效:

service docker start

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

解决方案 18:

2022 解决方案

我身边的这项工作:

在您的卷中添加以下内容:

volumes:
 - "/var/run/docker.sock:/var/run/docker.sock"

之后执行以下命令

 sudo  chown 1000:1000 /var/run/docker.sock

请注意 1000 是用户的 ID。要了解它,请执行以下命令:

id

或者,如果 $USER 包含您的用户名:

 sudo  chown $USER:$USER /var/run/docker.sock

解决方案 19:

有时,由于某种原因,Docker 关闭了我的 ubuntu 集成,然后我收到同样的Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?错误。

进入窗口右上角的 docker 桌面设置齿轮 > 资源 > WSL 集成,然后重新打开集成:

在此处输入图片描述

解决方案 20:

docker 桌面设置

  • 如果你使用的是MacOS

  • 打开Docker 桌面应用程序

  • 转到设置->高级

  • 您应该会看到一个复选框,其中有允许使用默认 Docker 套接字的选项。

默认情况下它未选中,因此打开它对我来说是有效的。

解决方案 21:

这是在 Linux 上对我有用的解决方案

systemctl start docker

解决方案 22:

安装 docker 并运行后,我也收到以下错误消息:docker run hello-world #Cannot connect to the Docker daemon at unix: /var/run/docker.sock. Is the docker daemon running?

这是一个对我有用的解决方案。环境

  • 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 中的 docker 命令:18.09.9 ~ 3-0 ~ ubuntu-bionic

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 的命令

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

注意:将上面的命令放在你的配置文件中以 ubunto 开头,例如:echo "export 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 ENGINE

对于可以使用 ubuntu 安装的其他版本的 docker,请使用以下命令查看存储库:apt-cache madison docker-ce

然后安装所需版本的docker:

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

解决方案 23:

这是因为 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

解决方案 24:

对于 Linux 运行

sudo dockerd

但是,如果你使用 Mac 版 Docker Client,它将无法工作。请尝试以下代码

$socat TCP-LISTEN:2376,reuseaddr,fork UNIX-CLIENT:/var/run/docker.sock

https://forums.docker.com/t/using-pycharm-docker-plugin-with-docker-beta/8617/9

该解决方法向全世界开放了 2376 端口……由于未启用 TLS,因此这是一个坏主意,因为同一网络上的任何人都可以劫持你的 docker 守护进程

解决方案 25:

这可能与硬盘上没有剩余磁盘空间有关。请确保设备上有剩余空间,如果没有剩余空间,Docker 将无法启动。

解决方案 26:

我在启动终端后启动 docker 时遇到了这个问题。重新启动终端或托管终端的进程(例如 vscode)解决了该问题。

解决方案 27:

在 WSL 中,运行dockerd可解决问题。

$ sudo dockerd

解决方案 28:

对于 Debian,docker 安装程序使用 iptables 进行 nat。不幸的是,Debian 使用 nftables。您可以将条目转换为 nftables,或者只需设置 Debian 以使用旧版 iptables。

sudo update-alternatives --set iptables /usr/sbin/iptables-legacy

sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy

dockerd,切换到iptables-legacy后应该可以正常启动。

sudo service docker start

解决方案 29:

当出现该消息时,我正尝试在 AWS 实例中运行 docker(刚刚安装)。我只需编写代码sudo service docker start,它对我来说就运行正常。

另请参阅AWS 与 Docker

解决方案 30:

确保此路径中的信息/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"
]

并且运行良好
在此处输入图片描述

相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   601  
  华为IPD与传统研发模式的8大差异在快速变化的商业环境中,产品研发模式的选择直接决定了企业的市场响应速度和竞争力。华为作为全球领先的通信技术解决方案供应商,其成功在很大程度上得益于对产品研发模式的持续创新。华为引入并深度定制的集成产品开发(IPD)体系,相较于传统的研发模式,展现出了显著的差异和优势。本文将详细探讨华为...
IPD流程是谁发明的   7  
  如何通过IPD流程缩短产品上市时间?在快速变化的市场环境中,产品上市时间成为企业竞争力的关键因素之一。集成产品开发(IPD, Integrated Product Development)作为一种先进的产品研发管理方法,通过其结构化的流程设计和跨部门协作机制,显著缩短了产品上市时间,提高了市场响应速度。本文将深入探讨如...
华为IPD流程   9  
  在项目管理领域,IPD(Integrated Product Development,集成产品开发)流程图是连接创意、设计与市场成功的桥梁。它不仅是一个视觉工具,更是一种战略思维方式的体现,帮助团队高效协同,确保产品按时、按质、按量推向市场。尽管IPD流程图可能初看之下显得错综复杂,但只需掌握几个关键点,你便能轻松驾驭...
IPD开发流程管理   8  
  在项目管理领域,集成产品开发(IPD)流程被视为提升产品上市速度、增强团队协作与创新能力的重要工具。然而,尽管IPD流程拥有诸多优势,其实施过程中仍可能遭遇多种挑战,导致项目失败。本文旨在深入探讨八个常见的IPD流程失败原因,并提出相应的解决方法,以帮助项目管理者规避风险,确保项目成功。缺乏明确的项目目标与战略对齐IP...
IPD流程图   8  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用