centos6.5安裝docker

在Ubuntu下安裝docker不會遇到什麼問題,可是centos6卻會遇到一些問題,可是總結起來也無非兩點:內核和依賴php

1)升級內核 centos6.5下的內核是2.6,可是docker要求的是3.10以上,因此須要升級內核docker

[smartlife@iZ28xflbekqZ ~]$ uname -r
2.6.32-573.26.1.el6.x86_64

升級(yum方式)vim

一、導入public keycentos

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org服務器

二、安裝elrepo到內核爲2.6.32的CentOS中app

rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpmui

三、安裝kernel-lt(long term support)長期支持版本this

yum --enablerepo=elrepo-kernel install kernel-lt -ygoogle

四、編輯grub.conf文件,修改Grub引導順序url

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文檔安裝

一、升級安裝包

sudo yum update

二、添加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

三、安裝docker包

$ sudo yum install docker-engine

四、啓動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 2016\n
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。

相關文章
相關標籤/搜索