CentOS 6.5 下配置docker

Docker 是一個開源的應用容器引擎,基於 Go 語言 並遵從Apache2.0協議開源。Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後發佈到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低。

CentOS Docker 安裝,Docker支持以下的CentOS版本:
- CentOS 7 (64-bit)
- CentOS 6.5 (64-bit) 或更高的版本

目前,CentOS 僅發行版本中的內核支持 Docker。
- Docker 運行在 CentOS 7 上,要求系統爲64位、系統內核版本爲 3.10 以上。
- Docker 運行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系統爲64位、系統內核版本爲2.6.32-431 或者更高版本。

在此分享一下本人學習Docker的經歷。
操作環境:CentOS 6.5 x86_64
檢測系統內核版本

經過多次嘗試,在CentOS 6.5 的這個最低的內核版本(2.6.32-431)上直接安裝docker都失敗,具體原因估計還是版本太低不兼容吧(官方建議內核版本在3.8.0及以上),所以在安裝Docker之前升級一下系統的內核版本是必須的。

  1. 升級系統內核版本
    網上很多介紹CentOS 6.5升級內核都是下載源碼編譯安裝,感覺麻煩,對Linux不熟悉的話容易出錯。我這裏選擇從yum的ELRepo源中安裝。
    在yum的ELRepo源中,有mainline、long-term這2個內核版本,考慮到long-term更穩定,會長期更新,所以選擇這個版本。

    1). 導入public key:
    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    導入過程中可能會報錯:
    這裏寫圖片描述
    解決:運行命令yum update nss

    2). 安裝ELRepo到CentOS-6.5中:
    rpm -ivh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
    這裏寫圖片描述

    3). 安裝kernel-lt(lt=long-term)
    yum --enablerepo=elrepo-kernel install kernel-lt -y
    或者安裝kernel-ml(ml=mainline)
    yum --enablerepo=elrepo-kernel install kernel-ml -y
    這裏寫圖片描述
    這裏寫圖片描述

    4). 編輯grub.conf文件,修改Grub引導順序:vim /etc/grub.conf
    這裏寫圖片描述
    確認剛安裝好的內核在哪個位置,然後設置default值(從0開始),一般新安裝的內核在第一個位置,所以設置default=0;
    這裏寫圖片描述

    5).重啓後查看系統內核版本。
    這裏寫圖片描述

    至此,CentOS 6.5的系統內核版本已經從原來的2.6.32-431.el6.x86_64升級到3.10.107-1.el6.elrepo.x86_64,可以配置Docker了。

  2. 安裝 Docker,直接運行:yum install docker-io,會出錯,原因:No package docker-io available.
    這裏寫圖片描述
    注意:CentOS 6.5與7.0的安裝是有一點點不同的,CentOS-6上docker的安裝包叫docker-io,並且來源於Fedora epel庫,這個倉庫維護了大量的沒有包含在發行版中的軟件,所以先要安裝EPEL,而CentOS-7的docker直接包含在官方鏡像源的Extras倉庫(CentOS-Base.repo下的[extras]節enable=1啓用)。

    1).安裝yum 源:
    yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
    這裏寫圖片描述
    這裏寫圖片描述

    2).安裝epel-release-6-8.noarch.rpm以後直接 yum install docker-io 就可以正常安裝了;
    這裏寫圖片描述
    這裏寫圖片描述
    這裏寫圖片描述

    3).運行Docker:service docker start,並設置爲開機啓動:chkconfig docker on;
    這裏寫圖片描述

    將Docker安裝到CentOS上後,你需要將自己添加到docker羣組,那樣才能以非root用戶的身份來運行Docker。爲此,運行命令:usermod -a -G docker $USER

問題:啓動Docker過程中會報錯:docker: relocation error: docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference
解決:運行命令:yum -y upgrade device-mapper-libs
這裏寫圖片描述
有可能是升級內核前沒有更新系統導致,對此沒有深究。

附:
yum -y update,升級所有包,改變軟件設置和系統設置,系統版本升級,內核版本不變;
yum -y upgrade,升級所有包,不改變軟件設置和系統設置,系統版本升級,內核不改變。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章