写在安装前:
如非必要,不建议在centos6下安装docker,可能会遇到各种奇怪的问题。
如果安装失败,可用如下命令查看和卸载docker:
rpm -qa|grep 名称 (查看已经安装的软件)
rpm -e 名称 (卸载)
本安装教程特点
1、离线安装
2、版本为Centos6
安装过程
一、下载依赖包(使用能联网的节点)
依赖包可以自己下载,也可以利用我下载的安装包,链接:https://pan.baidu.com/s/1xDiGDe470iw-un1vF8UBjw 密码:9jjm(建议直接使用我的包)
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.10-2.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-2.el6.x86_64.rpm
# rpm -ivh lxc-1.0.10-2.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
# rpm -ivh device-mapper* –-force --nodeps
再次运行docker -d
;
报错:
FATA[0000] Error starting daemon: Error initializing network controller: Error creating default "bridge" network: can't find an address range for interface "docker0"
这边我没做处理。。。
然后执行service docker restart
发现可以了。。
最后检查一下是否安装成功:
docker -v #输出对应的docker版本即代表安装成功
PS: 若重启没有解决上述报错, 可以考虑升级内核,以及上网搜索对应问题解决方法自行解决:
网上有好多类似的解决方法,例如:
先su到root
找一下docker的配置文件: find / -name "docker"
一般会在 /etc/sysconfig/docker
编辑这个文件 vi /etc/sysconfig/docker
修改other_args=这一行为:other_args=-bip=192.168.100.1/24
保存退出
可以重启docker了
service docker restart