阅读(1732) (0)

Docker 解决Cannot connect to the Docker daemon.

2016-02-24 14:47:28 更新

正在免费适用着Aliyun主机,当然要用docker来部署我的服务器啦。但是今天碰到了题目的问题,细节如下:

# docker info
FATA[0000] Cannot connect to the Docker daemon. Is 'docker -d' running on this host? 
# docker -d
INFO[0000] +job serveapi(unix:///var/run/docker.sock)   
FATA[0000] pid file found, ensure docker is not running or delete /var/run/docker.pid 

首先要查看docker daemon是否在运行。

# ps aux | grep docker
root       691  0.0  1.6 506388 17068 ?        Ssl  Mar07   0:45 /usr/bin/docker -d
root      1330  0.0  0.8 124088  8392 ?        Sl   Mar07   0:01 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 80 -container-ip 192.168.42.2 -container-port 80
root      9607  0.0  0.0  11720   896 pts/2    S+   16:50   0:00 grep --color=auto docker

这样看来,docker deamon正在运行,但是报此错误实属不应该。那么将其停止,再启动。

# service docker stop
# ps aux | grep docker
root      9624  0.0  0.0  11716   636 pts/2    S+   16:52   0:00 grep --color=auto docker
# docker -d
INFO[0000] +job serveapi(unix:///var/run/docker.sock)   
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock) 
INFO[0000] +job init_networkdriver()                    
INFO[0000] -job init_networkdriver() = OK (0)           
INFO[0000] WARNING: Your kernel does not support cgroup swap limit. 
INFO[0000] Loading containers: start.                   
..........
INFO[0001] Loading containers: done.                    
INFO[0001] docker daemon: 1.5.0 a8a31ef; execdriver: native-0.2; graphdriver: aufs 
INFO[0001] +job acceptconnections()                     
INFO[0001] -job acceptconnections() = OK (0)      

好吧,最有趣的事情是,之前我在root下一切运行良好,但是现在就像见鬼一样遇到上面的问题。上述的工作完成后,仍有问题。最后我使用sudo竟然解决了问题。如下:

# sudo docker info
Containers: 5
Images: 32
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 42
Execution Driver: native-0.2
Kernel Version: 3.13.0-32-generic
Operating System: Ubuntu 14.04.1 LTS