在可以连互联网的虚拟机【A】操作

先配置好网络yum源

vim /etc/sysconfig/network-scripts/ifcfg-ens33 
systemctl restart network.service
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
cd /etc/yum.repos.d/
mv CentOS-Base.repo{,.back}
cp /root/CentOS7-Base-163.repo .
mv CentOS7-Base-163.repo CentOS-Base.repo
yum clean all
yum makecache

配置安装源存放路径

mkdir -p /root/docker-ce-local && cd /root/docker-ce-local

获取createrepo安装包

yum install --downloadonly --downloaddir=/root/docker-ce-local createrepo

获取系统更新yum源

yum update --downloadonly --downloaddir=/root/docker-ce-local

卸载旧版本

yum remove docker docker-common docker-selinux docker-engine

获取docker-ce所需依赖

yum install --downloadonly --downloaddir=/root/docker-ce-local yum-utils device-mapper-persistent-data lvm2

获取docker-ce在线存储库

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

更新yum源索引

yum makecache fast

获取docker-ce及相关rpm安装源

yum install --downloadonly --downloaddir=/root/docker-ce-local docker-ce

查看安装时docker所需要的密钥并下载

more /etc/yum.repos.d/docker-ce.repo
cd /root/docker-ce-local/
wget https://download.docker.com/linux/centos/gpg

安装createrepo

yum install createrepo
createrepo -pdo /root/docker-ce-local /root/docker-ce-local
createrepo --update /root/docker-ce-local

打包

cd /root/
tar -zcvf centos-local.tgz docker-ce-local/

在目标机器【B】上执行

在目标计算机上将tgz包上传至/root路径下,并解压centos-local.tgz文件

cd /root
tar -xvzf centos-local.tgz

安装createrepo

cd /root/docker-ce-local
rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm

  注:createrepo版本可能不一样,根据自己下载的包的版本安装


我安装的时候 [root@localhost docker-ce-local]# rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm 警告:createrepo-0.9.9-28.el7.noarch.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY 错误:依赖检测失败: deltarpm 被 createrepo-0.9.9-28.el7.noarch 需要 python-deltarpm 被 createrepo-0.9.9-28.el7.noarch 需要 [root@localhost docker-ce-local]# ll python-deltarpm* -rw-r--r--. 1 root root 32084 7月 4 2014 python-deltarpm-3.6-3.el7.x86_64.rpm [root@localhost docker-ce-local]# rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm 警告:python-deltarpm-3.6-3.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY 错误:依赖检测失败: deltarpm(x86-64) = 3.6-3.el7 被 python-deltarpm-3.6-3.el7.x86_64 需要 [root@localhost docker-ce-local]# rpm -ivh deltarpm-3.6-3.el7.x86_64.rpm 警告:deltarpm-3.6-3.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY 准备中... ################################# [100%] 正在升级/安装... 1:deltarpm-3.6-3.el7 ################################# [100%] [root@localhost docker-ce-local]# rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm 警告:python-deltarpm-3.6-3.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY 准备中... ################################# [100%] 正在升级/安装... 1:python-deltarpm-3.6-3.el7 ################################# [100%] [root@localhost docker-ce-local]# rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm 警告:createrepo-0.9.9-28.el7.noarch.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY 准备中... ################################# [100%] 正在升级/安装... 1:createrepo-0.9.9-28.el7 ################################# [100%] [root@localhost docker-ce-local]#


备份安装源

  将所有的安装源移动到备份文件夹中

cd /etc/yum.repos.d/
mkdir repobak
mv CentOS* repobak/

新增docker-ce-local.repo源文件,写入以下内容

vi /etc/yum.repos.d/docker-ce-local.repo
  [docker-ce-local]
  name=Local Yum
  baseurl=file:///root/docker-ce-local/ #注:这里的url路径要根据实际进行更改
  gpgcheck=1
  gpgkey=file:///root/docker-ce-local/gpg #注:这里的key路径要根据实际进行更改
  enabled=1

生成源索引及缓存

createrepo /root/docker-ce-local             #注:这里路径要自己根据实际进行更改
yum makecache

安装docker-ce

yum install docker-ce

要安装公钥,我没有执行就报错了,、在上面的【A】操作有提到下载密钥,可以回去再下载 事务概要 ======================================================================================================================================================================= 安装 1 软件包 (+16 依赖软件包) 升级 ( 10 依赖软件包) 总下载量:105 M Is this ok [y/d/N]: y Downloading packages: 警告:/home/watrix/docker-ce-local/audit-2.8.5-4.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY audit-2.8.5-4.el7.x86_64.rpm 的公钥尚未安装


总计 259 MB/s | 105 MB 00:00:00 从 file:///home/watrix/docker-ce-local/gpg 检索密钥 导入 GPG key 0x621E9F35: 用户ID : "Docker Release (CE rpm) <docker@docker.com>" 指纹 : 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35 来自 : /home/watrix/docker-ce-local/gpg 是否继续?[y/N]:y fuse-overlayfs-0.7.2-6.el7_8.x86_64.rpm 的公钥尚未安装 失败的软件包是:fuse-overlayfs-0.7.2-6.el7_8.x86_64 GPG 密钥配置为:file:///home/watrix/docker-ce-local/gpg [root@localhost ~]#


验证中 : libselinux-python-2.5-6.el7.x86_64 29/37 验证中 : libselinux-utils-2.5-6.el7.x86_64 30/37 验证中 : audit-libs-2.6.5-3.el7.x86_64 31/37 验证中 : libsepol-2.5-6.el7.x86_64 32/37 验证中 : selinux-policy-3.13.1-102.el7.noarch 33/37 验证中 : audit-2.6.5-3.el7.x86_64 34/37 验证中 : libselinux-2.5-6.el7.x86_64 35/37 验证中 : selinux-policy-targeted-3.13.1-102.el7.noarch 36/37 验证中 : libsemanage-2.5-4.el7.x86_64 37/37 已安装: docker-ce.x86_64 3:20.10.12-3.el7 作为依赖被安装: audit-libs-python.x86_64 0:2.8.5-4.el7 checkpolicy.x86_64 0:2.5-8.el7 container-selinux.noarch 2:2.119.2-1.911c772.el7_8 containerd.io.x86_64 0:1.4.12-3.1.el7 docker-ce-cli.x86_64 1:20.10.12-3.el7 docker-ce-rootless-extras.x86_64 0:20.10.12-3.el7 docker-scan-plugin.x86_64 0:0.12.0-3.el7 fuse-overlayfs.x86_64 0:0.7.2-6.el7_8 fuse3-libs.x86_64 0:3.6.1-4.el7 libcgroup.x86_64 0:0.41-21.el7 libseccomp.x86_64 0:2.3.1-4.el7 libsemanage-python.x86_64 0:2.5-14.el7 policycoreutils-python.x86_64 0:2.5-34.el7 python-IPy.noarch 0:0.75-6.el7 setools-libs.x86_64 0:3.3.8-4.el7 slirp4netns.x86_64 0:0.4.3-4.el7_8 作为依赖被升级: audit.x86_64 0:2.8.5-4.el7 audit-libs.x86_64 0:2.8.5-4.el7 libselinux.x86_64 0:2.5-15.el7 libselinux-python.x86_64 0:2.5-15.el7 libselinux-utils.x86_64 0:2.5-15.el7 libsemanage.x86_64 0:2.5-14.el7 libsepol.x86_64 0:2.5-10.el7 policycoreutils.x86_64 0:2.5-34.el7 selinux-policy.noarch 0:3.13.1-268.el7_9.2 selinux-policy-targeted.noarch 0:3.13.1-268.el7_9.2 完毕! [root@localhost docker-ce-local]#


启动并测试

systemctl start docker.service
docker version



ps:

这篇文是我在网上找出来再到实际环境使用后的笔记,由于搞掉了是哪个网站没有挂链接,很抱歉