centos6.5安装docker
在Ubuntu下安装docker不会遇到什么问题,但是centos6却会遇到一些问题,但是总结起来也无非两点:内核和依赖 1)升级内核 centos6.5下的内核是2.6,但是docker要求的是3.10以上,所以需要升级内核 [smartlife@iZ28xflbekqZ ~]$ uname -r 2.6.32-573.26.1.el6.x86_64 升级(yum方式) 1、导入public key rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 2、安装elrepo到内核为2.6.32的CentOS中 rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm 3、安装kernel-lt(long term support)长期支持版本 yum --enablerepo=elrepo-kernel install kernel-lt -y 4、编辑grub.conf文件,修改Grub引导顺序 vim /etc/grub.conf 确认安装的新内核的位置,将default的值调整为新内核的顺序,一般新安装的内核在第一个位置,如本次升级案例中新装的内核位置为0,所以将default修改为0,保存退出,reboot重启服务器。如下所示 [smartlife@iZ28xflbekqZ ~]$ sudo cat /etc/grub.conf [sudo] password for smartlife: # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You do not have a /boot partition. This means that # all kernel and initrd paths are relative to /,eg. # root (hd0,0) # kernel /boot/vmlinuz-version ro root=/dev/xvda1 # initrd /boot/initrd-[generic-]version.img #boot=/dev/xvda default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (3.10.104-1.el6.elrepo.x86_64) root (hd0,0) kernel /boot/vmlinuz-3.10.104-1.el6.elrepo.x86_64 ro root=UUID=94e4e384-0ace-437f-bc96-057dd64f42ee rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /boot/initramfs-3.10.104-1.el6.elrepo.x86_64.img title CentOS (2.6.32-431.23.3.el6.x86_64) root (hd0,0) kernel /boot/vmlinuz-2.6.32-431.23.3.el6.x86_64 ro root=UUID=94e4e384-0ace-437f-bc96-057dd64f42ee rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /boot/initramfs-2.6.32-431.23.3.el6.x86_64.img [smartlife@iZ28xflbekqZ ~]$ sudo reboot 2)安装docker 首先确认下docker是否升级成功 [smartlife@iZ28xflbekqZ ~]$ uname -r 3.10.104-1.el6.elrepo.x86_64 按照docker文档安装 1、升级安装包 sudo yum update 2、添加docker源 $ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF' [dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/7/ enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg EOF 3、安装docker包 $ sudo yum install docker-engine 4、启动docker服务 sudo service docker start 5 开机启动 $ sudo chkconfig docker on 正常情况docker已经启动,但是更多情况是有很多意想不到的问题 1)yum update失败 报错如下,说实在对centos这种级别的错误,我是理解不了了,所以google之,参考如下 http://mirror.centos.org/centos/6/SCL/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found" Trying other mirror. Error: Cannot retrieve repository metadata (repomd.xml) for repository: scl. 最后通过下面方式解决 sudo rm /etc/yum.repos.d/CentOS-SCL.repo sudo yum -y install centos-release-scl 2)docker无法启动 如图 虽然docker start时显示的ok,但是后台没有任何docker的进程,所以docker肯定没有启动起来,于是乎查看docker的启动日志 sudo cat /var/log/docker nWed Nov 30 21:36:15 CST 2016n time="2016-11-30T21:36:15.166317090+08:00" level=info msg="Listening for HTTP on unix (/var/run/docker.sock)" /usr/bin/docker: relocation error: /usr/bin/docker: symbol dm_task_get_info_with_deferred_remove,version Base not defined in file libdevmapper.so.1.02 with link time reference 通过如下方式解决 sudo yum upgrade device-mapper-libs 总结:centos可以装docker,但是只能装到1.7,很多最新的特性1.7并不支持,如果你想用新的docker建议升级到cento7.x。 (编辑:岳阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |