docker在centos6.5中安裝

Docker是一個(gè)開源的引擎,可以輕松的為任何應(yīng)用創(chuàng)建一個(gè)輕量級(jí)的、可移植的、自給自足的容器。開發(fā)者在筆記本上編譯測(cè)試通過的容器可以批量地在生產(chǎn)環(huán)境中部署,包括VMs(虛擬機(jī))、bare metal、OpenStack 集群和其他的基礎(chǔ)應(yīng)用平臺(tái)。
Docker通常用于如下場(chǎng)景:

  • web應(yīng)用的自動(dòng)化打包和發(fā)布;
  • 自動(dòng)化測(cè)試和持續(xù)集成、發(fā)布;
  • 在服務(wù)型環(huán)境中部署和調(diào)整數(shù)據(jù)庫或其他的后臺(tái)應(yīng)用;
  • 從頭編譯或者擴(kuò)展現(xiàn)有的OpenShift或Cloud Foundry平臺(tái)來搭建自己的PaaS環(huán)境。

為什么docker是云計(jì)算必然的現(xiàn)在和未來

IBM、谷歌(全球最大搜索引擎)、Rackspace、紅帽、微軟、VMware以及Amazon等巨頭也紛紛在支持容器技術(shù)上加磅,與Docker展開合作;
在騰訊內(nèi)部,大家所熟知的QQ空間,相冊(cè),農(nóng)場(chǎng)等很多系統(tǒng),底層都跑在Container上的,騰訊云的彈性web引擎也是基于Container構(gòu)建的,搜狐云景也是基于Container構(gòu)建的

由于docker的更新?lián)Q代以及升級(jí),docker已經(jīng)宣布不再對(duì)redhat6的系統(tǒng)提供支持(不支持的原因是docker只支持更高版本的內(nèi)核,所有我們可以通過升級(jí)內(nèi)核的方式來安裝docker)
但是我們很多生產(chǎn)環(huán)境中的服務(wù)器還是有很多是比較老的系統(tǒng),甚至有的公司還有redhat5系統(tǒng),在這個(gè)時(shí)候就涉及到一個(gè)問題,我們是直接把所有的機(jī)器升級(jí)系統(tǒng)還是讓老的系統(tǒng)也支持docker,
如果直接升級(jí)所有的機(jī)器,時(shí)間成本有點(diǎn)高,所有我們公司絕對(duì)讓docker支持比較老的系統(tǒng)比如centos6.5

  • 注意6.5以后的版本也是支持的 比如6.8,6.9
    這里是用CnetOS6.5系統(tǒng)
    升級(jí)前系統(tǒng)鏡像:CentOS 6.5 64位
    內(nèi)核版本:2.6.32-431.23.3.el6_x86_64
    可以使用uname -r查看內(nèi)核版本 如果是2.6.32-431.23.3.el6_x86_64 必須升級(jí)后才可以繼續(xù)安裝docker
    1、導(dǎo)入public key

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

2、安裝elrepo到內(nèi)核為2.6.32的CentOS中

rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm (這個(gè)倉庫用不了)

3、安裝kernel-lt(long term support)長(zhǎng)期支持版本

yum --enablerepo=elrepo-kernel install kernel-lt -y (命令也會(huì)執(zhí)行失敗)

注:1)
如果直接通過yum方式使用elrepo源速度會(huì)較慢(該源在國(guó)外)。
推薦采用rpm的方式安裝kernel-lt:
訪問http://elrepo.org/linux/kernel/el6/x86_64/RPMS/下載對(duì)應(yīng)的rpm包,通過rpm方式安裝:
所以我們直接始終這個(gè)方法

wget http://elrepo.org/linux/kernel/el6/x86_64/RPMS/kernel-lt-3.10.106-1.el6.elrepo.x86_64.rpm
rpm -ivh kernel-lt-3.10.106-1.el6.elrepo.x86_64.rpm

2)關(guān)于kernel-lt的介紹可以參考elrepo官網(wǎng)介紹:http://elrepo.org/tiki/kernel-lt

4、編輯grub.conf文件,修改Grub引導(dǎo)順序

vim /etc/grub.conf

確認(rèn)安裝的新內(nèi)核的位置,將default的值調(diào)整為新內(nèi)核的順序,如本次升級(jí)案例中新裝的內(nèi)核位置為0,所以將default修改為0,保存退出,reboot重啟服務(wù)器。


image

5、重啟系統(tǒng)后檢查內(nèi)核


image

安裝docker

[root@localhost ~]# rpm -ivh http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Retrieving http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
warning: /var/tmp/rpm-tmp.JN76fI: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing...                ########################################### [100%]
  1:epel-release          ########################################### [100%]
[root@localhost ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

[root@localhost ~]# yum -y install docker-io

發(fā)現(xiàn)還是沒有啟動(dòng)報(bào)錯(cuò)如下

[root@vagrant-centos65 log]# vim /var/log/docker 


\nWed Nov  1 07:58:07 UTC 2017\n
/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
\nWed Nov  1 07:59:22 UTC 2017\n
time="2017-11-01T07:59:23.022022493Z" 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
\nWed Nov  1 08:01:05 UTC 2017\n

/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

應(yīng)該是libmapper有關(guān),需要升級(jí)下這個(gè)庫:

yum-config-manager --enable public_ol6_latest
yum install device-mapper-event-libs

啟動(dòng)docker

/etc/init.d/docker start
ps axu |grep docker
啟動(dòng)成功

因?yàn)槟J(rèn)是獲取海外服務(wù)器 導(dǎo)致鏡像無法下載
可以使用163的下載地址需要修改 docker.conf 的地址:

 vim /etc/sysconfig/docker
    添加如下內(nèi)容:
    other_args="--registry-mirror=http://hub-mirror.c.163.com"
    OPTIONS='--registry-mirror=http://hub-mirror.c.163.com'
    重啟Docker服務(wù):
    [root@iZ25syqr8e5Z ~]# /etc/init.d/docker restart
    Stopping docker:   [  OK  ]
    Starting docker:
    測(cè)試:docker search centos
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容