我已经应用了互联网上的所有解决方案,但我仍然无法运行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
答案 0 :(得分:66)
你可以试试这个:
systemctl start docker
它对我来说很好。
Ps:如果有命令你不能没有sudo,请试试这个:
gpasswd -a $USER docker
答案 1 :(得分:24)
在从主要文档重新安装了DOCKER之后,我才遇到这个问题。 对我来说,问题是安装后立即没有运行该服务。
这些命令将帮助您确保docker已启动并正在运行,以便您的run命令可以找到它:
$ sudo service --status-all
$ sudo service docker start
$ sudo service docker start
答案 2 :(得分:21)
如果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/179/run/docker.pid
snap stop docker
snap start docker
请务必更换' 179'使用适当的版本号
答案 3 :(得分:21)
对我有用:
sudo systemctl unmask docker
sudo systemctl start docker
答案 4 :(得分:13)
首先,尝试使用 sudo ,因为当前用户可能没有与docker守护程序通信的访问权限,即 /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
此外,此步骤在docker的官方文档中提及Linux的安装后步骤(https://docs.docker.com/engine/installation/linux/linux-postinstall/)
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 =&#34; -H **** tcp://0.0.0.0:2375 &#34;
然后重新启动计算机。并且,开始玩docker。
答案 5 :(得分:10)
只要运行
sudo dockerd
那么您就很好了。
答案 6 :(得分:9)
这对我来说很好。.
答案 7 :(得分:8)
解决此问题的简便方法,对我来说还可以
systemctl start docker
systemctl enable docker
systemctl restart docker
答案 8 :(得分:6)
这通常发生在您可能无法停止停靠的情况下。
解决问题
service docker stop
cd /var/run/docker/libcontainerd
rm -rf containerd/*
rm -f docker-containerd.pid
service docker start
然后&#34; docker run ....&#34;下载图像并像往常一样启动容器
答案 9 :(得分:3)
这是在Linux上适用于我的解决方案
systemctl start docker
。
答案 10 :(得分:2)
在root模式下,运行命令systemctl start docker
然后,您可以通过运行systemctl status docker
答案 11 :(得分:2)
在安装docker并运行后,我还收到以下错误消息:docker run hello-world #无法通过Unix /var/run/docker.sock连接到Docker守护程序。泊坞窗守护程序正在运行吗?
这是一个解决方案,对我有用。 环境
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo apt-get update
sudo add-apt-repository "deb [arch = amd64] https://download.docker.com/linux/ubuntu $ (lsb_release -cs) stable "
sudo apt-get update
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
export DOCKER_HOST="tcp://0.0.0.0:2375"
注意:将上面的命令放在您的个人资料中,以ubunto开头 例如:echo“ export DOCKER_HOST =” tcp://0.0.0.0:2375“” >>〜/ .bashrc
sudo usermod -aG docker $USER
(关闭并再次打开ubuntu窗口) 或运行:
source ~/.bashrc
docker run hello-world
您好,Docker! 此消息表明您的安装似乎正常工作。
注意:如果失败,请再次运行命令:
export DOCKER_HOST="tcp://0.0.0.0:2375"
参考:https://docs.docker.com/engine/install/ubuntu/ 会话:安装DOCKER引擎
#对于可以与ubuntu一起安装的其他版本的docker,请使用以下命令查看存储库: apt-cache madison docker-ce
sudo apt-get install docker-ce = <VERSION_STRING> docker-ce-cli = <VERSION_STRING> containerd.io
答案 12 :(得分:2)
当前答案均不适用于该错误的我的版本。我正在使用Ubuntu 18的桌面版本。以下两个命令解决了该问题。
let divElement = document.getElementById('divId');
let height = document.defaultView.getComputedStyle(divElement).height;
sudo snap connect docker:home :home
答案 13 :(得分:2)
答案 14 :(得分:2)
我在关闭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并运行世界。
干杯!
答案 15 :(得分:1)
我想如果您将WSL与GUI一起使用,则可以尝试
sudo /etc/init.d/docker start
答案 16 :(得分:1)
答案 17 :(得分:1)
在我的终端启动后启动 docker 时,我遇到了这个问题。重新启动终端或托管终端的进程(例如 vscode)解决了该问题。
答案 18 :(得分:1)
这可能与硬盘驱动器上没有剩余磁盘空间有关。确保设备上还有剩余空间,如果没有剩余空间,Docker将无法启动。
答案 19 :(得分:1)
在ubuntu中使用它 导出DOCKER_HOST = tcp:// localhost:2375
答案 20 :(得分:0)
export DOCKER_HOST = tcp:// localhost:2375非常适合那些没有sudo访问权限并且用户无权访问unix:///var/run/docker.sock
的人。答案 21 :(得分:0)
如果您尝试在 Windows 中使用 wsl 2 linux 子系统安装 docker 请阅读此文档 https://docs.docker.com/docker-for-windows/wsl/ 并检查这个命令是否被执行
QRadioButton
并签入您的 Windows 操作系统 docker->settings->Resources->Enable 与其他发行版的集成:已签入并重新启动
答案 22 :(得分:0)
对于像我这样刚安装并尝试在 RaspberryPi (RPi) 上运行 docker 的人,我需要重新启动我的 RPi 4B+ 来解决这个问题并实际运行 docker 守护进程。
在撰写此贡献时,this great manual 确实提到了重启 RPi 的必要性,但前提是在设置“非 root 用户到 Docker 组”之后。
HTH,如果有人像我一样错过这个..
答案 23 :(得分:0)
这对你来说可能有点晚了,但希望它能帮助人们找到穿越码头丛林的路。 问题可能来自 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
答案 24 :(得分:0)
只是添加到知识库中。我发现这 video 很有帮助。我没有 DOCKER_HOST 定义。我确实有一个 /etc/wsl.conf 具有:
[automount]
root = /
options = "metadata"
重启几次后 docker hello-world 工作了。
答案 25 :(得分:0)
我在gitlab CI运行node:lts image时遇到了相同的问题:
答案 26 :(得分:0)
我遇到了同样的问题。就我而言,VPN 是罪魁祸首。关闭 VPN 有助于成功安装。
答案 27 :(得分:0)
这对我有用,如果您使用的是Ubuntu 16或18,它可能只对您有用(14也可以)。容易尝试:
转到Ubuntu Software,输入Docker。 如果docker(108 mb)已预先安装在此,则将其卸载。 安装泊坞窗 现在运行命令,看看是否出现相同的错误
错误:
如您所见,它起作用了:)
答案 28 :(得分:0)
答案 29 :(得分:0)
对我来说,解决方案是简单地确保我安装了正确的Docker软件包。例如,对于Ubuntu,depreciated packages是:
要进行安装,请检查https://docs.docker.com。在撰写本文时,为Ubuntu,CentOS,Debian和Fedora提供了说明。
答案 30 :(得分:0)
当我使用yum(yum install docker)安装docker时,在Linux上遇到了同样的问题。
解决方案:从官方网站docker install下载docker二进制文件,解压缩并遵循安装步骤。
答案 31 :(得分:0)
出现此消息时,我试图在AWS实例中运行docker(仅安装)。
我只是写sudo service docker start
并能正常工作。
另请参见AWS with Docker
答案 32 :(得分:0)
适用于在安装时遇到Docker问题的每个人。
指向docker服务失败的错误,请执行以下命令。
$ sudo apt update
$ sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
$ sudo apt update
$ apt-cache policy docker-ce
$ sudo apt install docker-ce
答案 33 :(得分:0)
确保此路径/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"
]
并且运行良好 enter image description here
答案 34 :(得分:0)
我在root上运行并在下面尝试过,它有效:
service docker start
export DOCKER_HOST="tcp://0.0.0.0:2375"
答案 35 :(得分:0)
重新启动计算机可以为我解决问题。 (macOS Mojave版本10.14)
答案 36 :(得分:-1)
使用
docker start <your_container_name>
然后通过使用连接到数据库
mssql -u <yourUsername> -p <yourPassword>
如果您在第一步中遇到错误,则说明docker正在运行,请继续执行第二步。
注意:我使用Mac作为主要操作系统,对于基于Unix的操作系统,这可能是相同的答案。如果不!不好意思。
答案 37 :(得分:-2)
仅重新启动系统就对我有用。这可能是暂时的问题
答案 38 :(得分:-2)
此问题可以通过运行永久解决 1. systemctl启用docker 2.服务docker start