公司有幾臺(tái)未聯(lián)網(wǎng)的服務(wù)器需要安裝docker-ce做測(cè)試用,但是如果直接下載docker-ce的rpm包安裝的話會(huì)缺少各種依賴,一個(gè)個(gè)安裝依賴過(guò)程確實(shí)非常淡疼。如果快速的離線安裝docker-ce最新版哪?經(jīng)過(guò)摸索,發(fā)現(xiàn)配置本地yum源可以解決這個(gè)問(wèn)題。本文將闡述在CentOS7.2下,通過(guò)配置本地yum源,離線安裝docker-ce最新版(在寫本博客時(shí),docker-ce的最新版是docker-ce-x86_64-17.06.0.ce)。
下載離線軟件包及依賴
首先找一臺(tái)能夠聯(lián)網(wǎng)的機(jī)器,配置docker-ce的yum倉(cāng)庫(kù),參考這篇博客的安裝docker部分。
這一步的離線軟件包我已經(jīng)下載好了,可以聯(lián)系我獲取(dazh_xu@163.com)。
下載createrepo及依賴
createrepo軟件可以為本地yum庫(kù)生成索引。
創(chuàng)建yum/local文件夾
$ mkdir -p yum/local
下載createrepo軟件包及其依賴
repotrack -a x86_64 -p yum/local createrepo
下載libgudev1和systemd-sysv
下載libgudev1和systemd-sysv,是因?yàn)閏entos7.2的libgudev1和systemd-sysv依賴systemd-219-19.el7.x86_64,而docker-ce需要systemd-219-30el7.x86_64.
下載 libgudev1和systemd-sysv軟件包機(jī)器依賴
repotrack -a x86_64 -p yum/local libgudev1
repotrack -a x86_64 -p yum/local systemd-sysv
下載docker-ce及依賴
下載docker-ce軟件包機(jī)器依賴
repotrack -a x86_64 -p yum/local docker-ce
打包、上傳yum軟件
將yum文件夾打包docker-ce-yum.tgz
$ tar -zcvf docker-ce-yum.tgz yum/
拷貝到離線機(jī)器,并解壓
# tar -zxvf docker-ce-yum.tgz -C /root/
配置本地源
安裝createrepo
進(jìn)入yum/local文件夾,安裝createrepo-0.9.9-26.el7.noarch.rpm
# rpm -ivh createrepo-0.9.9-26.el7.noarch.rpm
可能會(huì)提示deltarpm和python-deltarpm版本不夠,可以升級(jí)這些包
# 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,寫入一下內(nèi)容
[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
此時(shí),本地yum源則配置完成,現(xiàn)在就可以從本地源安裝docker-ce
安裝docker-ce
安裝docker-ce
# yum install docker-ce
這個(gè)過(guò)程中會(huì)自動(dòng)升級(jí)版本不夠的軟件包,所以還是比較方便的。
測(cè)試
啟動(dòng)docker服務(wù)
# systemctl start docker
測(cè)試
# docker version
則會(huì)打印一下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和配置國(guó)內(nèi)docker源等,請(qǐng)參考。