Docker踩坑记

看最近Docker这么火,也跟着用用。结果从一个坑出来又掉另一个坑去了。

FATA[0000] Error response from daemon: client and server don’t have same version (client : 1.16, server: 1.15)

1 [root@aliyun ~]# docker info
2 FATA[0000] Error response from daemon: client and server don't have same version (client : 1.16, server: 1.15)

这个是让人觉得最无助的问题,明明安装的时候是一个包下来的啊,怎么会client和server版本不一致,你这是在逗我?

立马Google了一把。有人回答,这是因为升级后的问题,重启一下docker服务。

我就屁颠屁颠的,service docker restart 。然后一试,擦,还是老样子。

但是想想不对啊,一开始都可以的,从来没升级过啊。查找一下原来的命令。发现了这一个奇怪的现象。

1 [root@aliyun ~]# sudo docker info
2 Containers: 1
3 Images: 3

我擦,这样居然能执行成功。去掉sudo就出现了上面说的情况。而我明明是用root账户登陆的,所以sudo不sudo应该没有区别。

这个是为什么,我也不知道,网上貌似出现这种问题的都是boot2docker。希望知道的朋友给予解答。

/var/run/docker.pid still exists…

这个是用service启动的时候看到的。不是啥事,删掉这个文件就行。应该是docker异常关闭,这个文件没删掉。

重点其实不是这个文件,而是为什么异常关闭。请看下文。

lxc-start: cgfs.c: handle_cgroup_settings: 2077 Device or resource busy – failed to set memory.use_hierarchy to 1; continuing

1 sudo docker run -i -t fedora /bin/bash
2 lxc-start: cgfs.c: handle_cgroup_settings: 2077 Device or resource busy - failed to setmemory.use_hierarchy to 1; continuing
3 bash-4.3# exit
4 exit

这个是cgroup的问题。设置memory.use_hierarchy失败,通常就是cgroup的问题。因为存在子cgroup,所以无法修改这个参数。先清理掉cgroup,再设置就ok了。

而且最后也显示了continuing,说明这个无关紧要。

docker启动后自己挂了

一开始用service启动,启动后发现没啥动静。然后ps一看,根本没这个进程。就直接启动。发现了原因。

1 [root@aliyun ~]# sudo docker -d &
2  
3 ......
4  
5 2015/01/14 12:31:52 Could not find free IP address range forinterface 'docker0'. Please configure its address manually and run 'docker -b docker0'
6 [1]+  Exit 1                  sudo docker -d

是网络问题,需要给docker配一个IP的接口。

1 sudo brctl addbr docker0 #创建网桥
2 sudo ip link set dev docker0 up #启动网桥
3 sudo ifconfig docker0 10.0.0.4 #给网桥设置IP 

这样就能顺利启动。因为这块只是先让docker起来,就不多说了。因为网桥还要配置,这样是无法上网的,如果配错了的话,主机可能会断网。

转载请注明:旅途@KryptosX » Docker踩坑记

你可能感兴趣的:(Docker踩坑记)