先指出问题:安装过程会报错(可以忽略此报错)
INFO[0000] +jobserveapi(unix:///var/run/docker.sock)
INFO[0000] Listening forHTTP on unix (/var/run/docker.sock)
INFO[0000] WARNING: You arerunning linux kernel version 2.6.32-504.8.1.el6.x86_64, which might be unstablerunning docker. Please upgrade your kernel to 3.8.0
参考:Docker系列(一)CentOS 6.5 离线安装、不升级内核 - 小鸟的士林 - 博客园
一 、依赖包准备及安装:两种方式获得
1、方式一: 直接使用我提供的包
百度云盘链接:https://pan.baidu.com/s/16IOD_lx3jfP5n7UL7s43Rg 提取码:kohk
2、方式二:下载依赖包(需要联网的服务器)
2.1、安装downloadonly插件使用yum下载rpm包
# yum install yum-plugin-downloadonly
使用方法:
yum install --downloadonly
(只下载不安装)
--downloaddir=rpm
包下载的目录 安装的组件名
2.2、下载docker需要的依赖包
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> 添加hop5.repo源
# cd /etc/yum.repos.d
# wget http://www.hop5.in/yum/el6/hop5.repo
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
就可以下载对应的包了,所下载的包如下:其中文件夹device-mapper-libs是下边一步下载到rpm。
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.3、 将整个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.10-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.10-1.el6.x86_64.rpm
# rpm -ivh lxc-1.0.10-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
解决如下
方法一:
# cd /usr/local/src/docker/device-mapper-libs
# yum -y install device-mapper*
方法二:
# rpm -ivh device-mapper***.rpm –-force --nodeps
再次运行docker -d
可以nohup docker -d & 启动
有WARN警告可以暂时忽略
三、启动docker
service docker start
查看docker 版本
docker version
设置开机自启动
# chkconfig docker on
检查支持情况
# lxc-checkconfig
启动cgroup
# service cgconfig start
四、测试
# docker ps –a
docker pull hello-world
docker run hello-world
出现上述内容说明安装成功。