安装的时候,最好能参照此官方教程进行https://docs.docker.com/installation/centos/
升级内核
CentOS6.7的默认内核版本是2.6.32-431.23.3.el6.x86_64 可以通过uname -r
命令查看
而docker要求的内核是至少3.10往上
可以参考此篇文章来进行内核升级使用yum快速升级CentOS 6.5内核到 3.10.28
虽然说的是CentOS6.5 但是也同样适用于CentOS6.7 升级完毕之后,重启电脑,执行uname -r
命令,确定内核已经正确切换为3.10的
安装docker
安装比较简单
先使用 sudo yum update
来确保所有包是最新的
然后使用官方的curl -sSL https://get.docker.com/ | sh
进行docker的安装
启用和配置docker
如果你的运气不错的话,执行sudo service docker start
就可以顺利启动docker。
尝试着跑一个hello-world的image,sudo docker run hello-world
。如果一切正常。那后面就不需要看。
很不幸,看到这块的都是有问题了。
问题和解决方法
内网IP被占
如果执行docker -d
看到的错误类似如下
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)
INFO[0000] [graphdriver] using prior storage driver "devicemapper"
WARN[0000] Running modprobe bridge nf_nat failed with message: , error: exit status 1
FATA[0000] Error starting daemon: Error initializing network controller: Error creating default "bridge" network: can't find an address range for interface "docker0"
那可以尝试一下我的一些操作
参考了http://www.baijinping.com/pages/2015/07/19/zai-a-li-yun-shang-yun-xing-dockerfu-wu.html和http://www.cnblogs.com/MicroTeam/p/see-docker-run-in-debian-with-aliyun-ecs.html
编辑网络配置文件 vim /etc/sysconfig/network-scripts/route-eth0
注释掉有172.16.0.0的一行
172.16.0.0/12 via 10.116.111.247 dev eth0
执行命令route del -net 172.16.0.0 netmask 255.240.0.0
删除掉已经加载的路由信息
然后执行 /etc/init.d/network restart
重启network服务
最后再次启动docker service start docker
成功!
无法限制docker内存
当然,如果还是很不幸的,又有问题,在启动的时候提示
WARNING: WARNING: Your kernel does not support swap limit capabilities. Limitation discarded.
这是提示无法对docker进行内存限制。
可以修改/etc/grub.conf
在当前使用的内核的kernel项的最后加上cgroup_enable=memory swapaccount=1
reboot
然后 cat /proc/cmdline
就会发现,配置生效了
这下就真的没问题了。久违的hello, world
参考资料
- https://docs.docker.com/articles/networking/#bridge-building
- http://suibi.xglabc.com/
- http://ljf.me/archives/use-yum-to-quickly-upgrade-centos-6-5-kernel-3-10-28/
- https://docs.docker.com/installation/centos/
- https://www.vobe.io/311?spm=5176.7189909.0.0.ItfoKD
- https://www.vobe.io/313?spm=5176.7189909.0.0.3dRc2k
- http://www.baijinping.com/pages/2015/07/19/zai-a-li-yun-shang-yun-xing-dockerfu-wu.html
- http://www.cnblogs.com/MicroTeam/p/see-docker-run-in-debian-with-aliyun-ecs.html
- http://segmentfault.com/q/1010000000496839