概述

无法连接互联网的情况下,我们需要使用docker就需要离线搭建,但是如果直接下载docker-ce的rpm包安装的话会缺少各种依赖,经过摸索,发现配置本地yum源可以解决当前问题。本文将阐述在CentOS7下,通过配置本地yum源,离线安装docker-ce。

本地源制作(有网环境)

  • 使用yum只下载不安装依赖包
# yum install --downloadonly --downloaddir=/root/docker-ce-local <package-name>

配置安装源存放路径

  • 创建rpm源存放目录
# mkdir -p /root/docker-ce-local && cd /root/docker-ce-local

注:默认情况下,下载的rpm包位于以下位置:/var/cache/yum/x86_64/7

获取所有的依赖包

  • 获取createrepo安装包
# yum install --downloadonly \
--downloaddir=/root/docker-ce-local createrepo
  • 获取系统更新yum源
# yum update --downloadonly --downloaddir=/docker-ce-local
  • 查看官网docker教程,根据在线安装教程改造命令
#官网教程地址
https://docs.docker.com/engine/installation/linux/docker-ce/centos/#prerequisites
  • 卸载旧版本
# 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
  • 初始化源文件的repodata
# createrepo -pdo /root/docker-ce-local /root/docker-ce-local
# createrepo --update /root/docker-ce-local

安装源打包

  • 将文件夹打包为yum-local.tgz
# cd /root
# tar -zcvf centos-local.tgz docker-ce-local/

至此离线安装包制作完成,将此包拷贝到离线的机器上,继续以下操作。

配置离线本地安装源

解压上传的离线包

  • 将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版本可能不一样,根据自己下载的包的版本安装

备份安装源

  • 将所有的安装源移动到备份文件夹中
# 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/
gpgcheck=1
gpgkey=file:///root/docker-ce-local/gpg
enabled=1

生成源索引及缓存

# createrepo /root/docker-ce-local
# yum makecache

安装docker-ce

# yum install docker-ce

注:安装过程比较耗时,需等待

启动并测试

# systemctl start docker.service 
# docker version

这里写图片描述
至此docker离线安装成功。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐