centos6 离线安装docker

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq805934132/article/details/82910103

写在安装前:

如非必要,不建议在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

猜你喜欢

转载自blog.csdn.net/qq805934132/article/details/82910103