在docker的使用过程中有时候会遇到一些私有化部署的问题,就是在一些无法上网的机器上面安装使用dokcer,这就引出了docker的离线安装的问题
环境:
通过 uname -r 命令查看你当前的内核版本
centos 7.0内核版本3.10.0-327.el7.x86_64
centos 7.2-1511
docker 1.12.6版本
基本思路:
在可以连接外网的机器(未安装过docker,同时跟局域网要安装docker的机器系统版本一致)通过yum命令将rpm以及相关的依赖下载完成。将下载完成的rpm包,拷贝到局域网机器上面。构建本地yum源
Docker离线安装包的下载:
要下载docker离线安装包,需要通过yum的离线下载命令进行,一般我们使用yum install下载安装包会进行安装,安装完成后删除下载的安装包。
yum提供了一种只下载安装包,但是不进行安装的方法:
yum install --downloadonly --downloaddir=/home/asit/dockerRpmdocker
通过这个命令,我们可以将docker相关的rpm包下载到/home/asit/dockerRpm目录,如图:
基础环境准备:
关闭selinux:安全子系统
[root@localhost ~]# cat /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
关闭Firewalld:防火墙
systemctl status firewalld 查看防火墙状态
systemctl stop firewalld 关闭防火墙
systemctl disable firewalld 禁用防火墙
systemctl status firewalld
firewall-cmd --state 查看firewall状态
构建本地yum源:
将CentOS-7-x86_64-DVD-1511.iso减压,将Centos7.2-1511中的 Packages拷贝出来,并修改名称为yumInstallPackages作为本地源库,再将下载好docker的rpm包里面的安装包拷贝到yumInstallPackages里面。
将yumInstallPackages上传到/root目录下面
1、安装createrepo
[root@master ~]# rpm -ivh./yumInstallPackage/deltarpm-3.6-3.el7.x86_64.rpm
[root@master ~]# rpm -ivh./yumInstallPackage/libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm
[root@master ~]# rpm -ivh ./yumInstallPackage/python-deltarpm-3.6-3.el7.x86_64.rpm
[root@master ~]# rpm -ivh./yumInstallPackage/createrepo-0.9.9-28.el7.noarch.rpm
[root@master ~]# createrepo
出现这个证明createrepo已经安装好了。
2、创建新的*.repo文件
删除/etc/yum.repo.d目录下文件,创建新的*.repo文件,如:local.repo,进行配置
[root@master ~]# rm -rf /etc/yum.repos.d/CentOS-*
[root@master ~]# vi/etc/yum.repos.d/local.repo
[local_server]
name=Thisis a local repo
baseurl=file:///root/yumInstallPackage
enabled=1
gpgcheck=0
3、设置本地源
执行下面命令,成功后本地源就设置完成了
createrepo -d /root/yumInstallPackage/
输入yum repolist看是否能看到自己构建的本地源
清除缓存,yum clean all
创建缓存,yum makecache
4、看本地源是否配置成功
通过yum list看是否输出了新的rpm包,如果能查询到,证明配置成功
安装Docker
安装
yuminstall docker
启动docker
systemctl start docker
开机自动启动docker
systemctl enable docker
重启docker
systemctl restart docker
查看docker信息
docker info
查看docker版本
docker version