总体思路:找一台可以联网的linux,下载docker的RPM依赖包而不进行安装(yum localinstall),将所有依赖的rpm环境打包好,再在无网环境中解压逐一安装(rpm: —force —nodeps)。

系统版本:

实例2(yum 下载):离线安装docker - 图1

添加软件源信息:

yum-config-manager —add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

实例2(yum 下载):离线安装docker - 图2

更新 yum 缓存:

实例2(yum 下载):离线安装docker - 图3

下载所有安装依赖到指定路径下:

mkdir -p /home/dockerrpm/

yum intsall docker-ce —downloadonly —downloaddir=/home/dockerrpm/

解释:标准的yum命令提供了 —downloadonly(只下载,不安装) 的选项来达到这个目的。

实例2(yum 下载):离线安装docker - 图4

实例2(yum 下载):离线安装docker - 图5

下载的docker 依赖包很多,有110M:

实例2(yum 下载):离线安装docker - 图6

将所有依赖的rpm环境打包:

tar zcvf docker-ce-20.tar.gz ./dockerrpm/*

无网环境安装:

创建安装脚本(install.sh):

! /bin/bash

tar zxvf docker-ce-20.tar.gz && cd dockerrpm && rpm -ivh *.rpm —force —nodeps

解释:

前两步:解压,打开依赖文件夹

参数解释:

rpm -ivh *.rpm —force —nodeps

1.—nodeps 就是安装时不检查依赖关系,比如你这个rpm需要A,但是你没装A,这样你的包就装不上,用了—nodeps你就能装上了。

2.—force 就是强制安装,比如你装过这个rpm的版本1,如果你想装这个rpm的版本2,就需要用—force强制安装。

测试安装:

实例2(yum 下载):离线安装docker - 图7
实例2(yum 下载):离线安装docker - 图8

查看docker状态:

实例2(yum 下载):离线安装docker - 图9

OK ,大功告成!