公司有几台未联网的服务器需要安装docker-ce做测试用,但是如果直接下载docker-ce的rpm包安装的话会缺少各种依赖,一个个安装依赖过程确实非常淡疼。如果快速的离线安装docker-ce最新版哪?经过摸索,发现配置本地yum源可以解决这个问题。本文将阐述在CentOS7.2下,通过配置本地yum源,离线安装docker-ce最新版(在写本博客时,docker-ce的最新版是docker-ce-x86_64-17.06.0.ce)。
下载离线软件包及依赖
首先找一台能够联网的机器,配置docker-ce的yum仓库,参考这篇博客的安装docker部分。
这一步的离线软件包我已经下载好了,可以联系我获取([email protected])。
下载createrepo及依赖
createrepo软件可以为本地yum库生成索引。
创建yum/local文件夹
$ mkdir -p yum/local
下载createrepo软件包及其依赖
repotrack -a x86_64 -p yum/local createrepo
下载libgudev1和systemd-sysv
下载libgudev1和systemd-sysv,是因为centos7.2的libgudev1和systemd-sysv依赖systemd-219-19.el7.x86_64,而docker-ce需要systemd-219-30el7.x86_64.
下载 libgudev1和systemd-sysv软件包机器依赖
repotrack -a x86_64 -p yum/local libgudev1
repotrack -a x86_64 -p yum/local systemd-sysv
下载docker-ce及依赖
下载docker-ce软件包机器依赖
repotrack -a x86_64 -p yum/local docker-ce
打包、上传yum软件
将yum文件夹打包docker-ce-yum.tgz
$ tar -zcvf docker-ce-yum.tgz yum/
拷贝到离线机器,并解压
# tar -zxvf docker-ce-yum.tgz -C /root/
配置本地源
安装createrepo
进入yum/local文件夹,安装createrepo-0.9.9-26.el7.noarch.rpm
# rpm -ivh createrepo-0.9.9-26.el7.noarch.rpm
可能会提示deltarpm和python-deltarpm版本不够,可以升级这些包
# rpm -Uvh deltarpm-3.6-3.el7.x86_64.rpm
# rpm -Uvh python-deltarpm-3.6-3.el7.x86_64.rpm
然后在安装createrepo-0.9.9-26.el7.noarch.rpm,则可以安装成功
配置本地源文件
添加文件/etc/yum.repos.d/CentOS-Local.repo,写入一下内容
[Local]
name=Local Yum
baseurl=file:///root/yum/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1
生成yum源的索引及缓存
# createrepo /root/yum
# yum makecache
此时,本地yum源则配置完成,现在就可以从本地源安装docker-ce
安装docker-ce
安装docker-ce
# yum install docker-ce
这个过程中会自动升级版本不够的软件包,所以还是比较方便的。
测试
启动docker服务
# systemctl start docker
测试
# docker version
则会打印一下docker的版本
Client:
Version: 17.06.0-ce
API version: 1.30
Go version: go1.8.3
Git commit: 02c1d87
Built: Fri Jun 23 21:20:36 2017
OS/Arch: linux/amd64
Server:
Version: 17.06.0-ce
API version: 1.30 (minimum version 1.12)
Go version: go1.8.3
Git commit: 02c1d87
Built: Fri Jun 23 21:21:56 2017
OS/Arch: linux/amd64
Experimental: false
配置普通用户免sudo使用docker和配置国内docker源等,请参考。