问题描述
我已经应用了互联网上所有可用的解决方案,但仍然无法运行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
最佳答案
您可以尝试以下方法:
systemctl start docker
对我来说很好。
附言:如果有没有sudo不能执行的命令,请尝试以下操作:
gpasswd -a $USER docker
次佳答案
如果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′
第三种答案
赶紧跑
sudo dockerd
这样您就很好了。
第四种答案
首先,尝试使用sudo,因为当前用户可能没有访问权限来与docker守护进程通信,即/var/run/docker.sock
如果仍然无法使用,则在安装后,只需停止docker daemon,
$ 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
另外,此步骤在Linux的docker Post-installation步骤的官方文档(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 =“-H **** tcp://0.0.0.0:2375”
然后重新启动计算机。并且,开始使用docker。
第五种答案
如果您可能尚未停止docker,通常会发生这种情况。
解决
service docker stop
cd /var/run/docker/libcontainerd
rm -rf containerd/*
rm -f docker-containerd.pid
service docker start
然后“ docker run ….”下载图像并照常启动容器
第六种答案
这是在Linux上对我有效的解决方案
systemctl start docker
。
第七种答案
我在root上运行并在下面尝试过,它有效:
service docker start
export DOCKER_HOST="tcp://0.0.0.0:2375"