本特安裝教程特點
1、由於是離線下載,需要提前下載好需要的依賴包
2、使用的版本為Centos6.5
3、不升級內核
4、提供異常解決方案。
安裝過程
一、下載依賴包(使用能聯網的節點)
依賴包可以自己下載,也可以利用我下載的安裝包,鏈接: https://pan.baidu.com/s/1hr4xjrY 密碼: 4j7g
1.安裝downloadonly插件使用yum下載rpm包
# yum install yum-plugin-downloadonly
使用方法:
yum install --downloadonly
(只下載不安裝)
--downloaddir=rpm
包下載的目錄 安裝的組件名
2.下載docker需要的依賴包
2.1配置Fedora EPEL源
# wget http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm
2.2 添加hop5.repo源
# cd /etc/yum.repos.d
# wget http://www.hop5.in/yum/el6/hop5.repo
2.3下載依賴包
# mkdir /usr/local/docker
# yum install --downloadonly --downloaddir=/usr/local/docker docker-io
這一步會報錯找不到對應的rpm包;原因是對應的rpm包的版本號改變了,復制沒有下載的rpm包的包名(不帶版本號),進入下面的網址:
http://mirrors.aliyun.com/epel/6/x86_64/
找到對應的包名的rpm包,比如這里提示lxc-1.0.8-1.el6.x86_64.rpm
包下載失敗,在上面的網址中找到lxc-1.0.9-1.el6.x86_64.rpm
,復制鏈接地址,http://mirrors.aliyun.com/epel/6/x86_64/lxc-1.0.9-1.el6.x86_64.rpm
# cd /usr/local/docker
# wget http://mirrors.aliyun.com/epel/6/x86_64/lxc-1.0.9-1.el6.x86_64.rpm
就可以下載對應的包了
這一步下載的所有包截圖如下,放在docker目錄下,其中文件夾device-mapper-libs是下邊一步下載到rpm:
2.4下載device-mapper-libs,不下載后面啟動docker會報錯,下載網址:http://mirrors.aliyun.com/centos/6/os/x86_64/Packages/
# mkdir /usr/local/docker/device-mapper-libs
# yum install --downloadonly --downloaddir=/usr/local/docker/device-mapper-libs device-mapper-libs
這一步下載到的lib截圖如下:
2.5 將整個docker目錄拷貝到需要安裝docker的離線的節點,可以放在/usr/local/src目錄下
二、安裝docker(離線節點)
1.安裝docker
如果執行rpm命令失敗,嘗試需要導入簽名:
[root@localhost rpm-gpg]# rpm --import http://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-6
[root@localhost rpm-gpg]# rpm –import /etc/pki/rpm-gpg/RPM*
依此執行docker下的安裝包:
# cd /usr/local/src/docker
# rpm -ivh lxc-libs-1.0.9-1.el6.x86_64.rpm
# rpm -ivh lua-alt-getopt-0.7.0-1.el6.noarch.rpm
# rpm -ivh lua-filesystem-1.4.2-1.el6.x86_64.rpm
# rpm -ivh lua-lxc-1.0.9-1.el6.x86_64.rpm
# rpm -ivh lxc-1.0.9-1.el6.x86_64.rpm
# rpm -ivh docker-io-1.7.1-2.el6.x86_64.rpm
2.運行docker -d
命令報錯如下:
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
2.1解決如下
進入device-mapper-libs目錄,依此安裝所有包。
方法一:
# cd /usr/local/src/docker/device-mapper-libs
# yum -y install device-mapper*
方法二:
# rpm -ivh device-mapper***.rpm –-force --nodeps
務必保持lib為如下版本,否則解決不了異常。
3.再次運行docker -d
命令,報錯如下:
FATA[0000] Error mounting devices cgroup: mountpoint for devices not found
3.1解決如下:
找到cgroup目錄,然后對其進行掛載,我的安裝環境cgroup目錄在/cgroup
# vi /etc/fstab
#在結尾添加
none /cgroup cgroup defaults 0 0
使之掛載生效
# mount -a
4.再次運行docker -d
;放到后台運行
# mkidr /usr/local/docker
# cd /usr/local/docker
# nohup docker -d &
# tail -f nohup.out
如果沒有報錯信息,就說明安裝成功!
ps:
執行service docker restart報如下錯誤:
(1) 檢查cgconfig的狀態
# /etc/init.d/cgconfig status
如果沒有啟動,執行如下命令:
# /etc/init.d/cgconfig restart
執行如下命令,看看是否ok:
# service docker restart
(2) check cgconfig is on
# chkconfig --list cgconfig
cgconfig 0:off 1:off 2:off 3:off 4:off 5:off 6:off
if cgconfig is off, turn it on
(3) if still does not work, may be some cgroups modules is missing. In the kernel .config file, make menuconfig, add those modules into kernel and recompile and reboot
after that, it should be OK
好好玩你的docker吧!
借鑒於:http://www.jianshu.com/p/ead7385fb418