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踩坑记

目录
相关文章
|
6月前
|
Linux 应用服务中间件 nginx
[笔记]docker入门《二》之 docker介绍(一)
[笔记]docker入门《二》之 docker介绍
|
5月前
|
Java Go 虚拟化
【Docker 系列】docker 学习十一,docker 总结和面试题整理
【Docker 系列】docker 学习十一,docker 总结和面试题整理
|
25天前
|
前端开发 Ubuntu 开发者
【Docker系列】Docker-核心概念/常用命令与项目部署实践
【4月更文挑战第1天】 Docker是容器化技术,打包应用及依赖,实现快速部署。核心概念包括镜像、容器和仓库。镜像是只读模板,容器是镜像运行实例,仓库用于存储和分发镜像。常用命令如`docker search`、`docker pull`、`docker images`、`docker ps`等。安装Docker在Ubuntu上涉及`apt-get update`、`install docker-ce`等步骤。了解这些基础,开发者能更高效地部署和管理应用。Docker简化了环境配置,增强了软件的可移植性和扩展性,是现代开发的必备技能。
108 3
|
6月前
|
jenkins 应用服务中间件 Linux
[笔记]docker入门《二》之 docker介绍(二)
[笔记]docker入门《二》之 docker介绍(二)
|
9月前
|
缓存 Ubuntu 应用服务中间件
docker小笔记
docker小笔记
|
11月前
|
Shell 应用服务中间件 Linux
|
11月前
|
Docker 容器
docker必备知识(一)
docker必备知识
201 0
|
测试技术 Linux 应用服务中间件
docker是什么?docker能干嘛?dcokerfile计划第一期
docker是什么?docker能干嘛?dcokerfile计划第一期
|
NoSQL 关系型数据库 MySQL
Docker笔记
Docker笔记
160 0
Docker笔记
|
Shell 应用服务中间件 nginx