Docker系列(一)CentOS 6.5 离线安装、不升级内核

本特安装教程特点

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报如下错误

enter image description here

(1) 检查cgconfig的状态

# /etc/init.d/cgconfig status

如果没有启动,执行如下命令:

# /etc/init.d/cgconfig restart

enter image description here

 

执行如下命令,看看是否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

enter image description here

(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

enter image description here

   好好玩你的docker吧!

借鉴于:http://www.jianshu.com/p/ead7385fb418

版权声明:本文为hdulzt原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/hdulzt/p/7834312.html