背景说明
在客户现场经常存在离线安装Docker环境的需求,这里针对相关步骤做出简要记录。Docker 是一个开源的商业产品,有两个版本:社区版(Community Edition,缩写为 CE)和企业版(Enterprise Edition,缩写为 EE)
在线安装
通过yum源在线安装核心流程如下:
Downloading packages:
(1/4): container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm
(2/4): containerd.io-1.3.7-3.1.el7.x86_64.rpm
(3/4): docker-ce-19.03.9-3.el7.x86_64.rpm
(4/4): docker-ce-cli-19.03.13-3.el7.x86_64.rpm
Installed:
docker-ce.x86_64 3:19.03.9-3.el7
Dependency Installed:
container-selinux.noarch 2:2.119.2-1.911c772.el7_8
containerd.io.x86_64 0:1.3.7-3.1.el7
docker-ce-cli.x86_64 1:19.03.13-3.el7
Installing : 2:container-selinux-2.119.2-1.911c772.el7_8.noarch
Installing : containerd.io-1.3.7-3.1.el7.x86_64
Installing : 1:docker-ce-cli-19.03.13-3.el7.x86_64
Installing : 3:docker-ce-19.03.9-3.el7.x86_64
下载RPM
https://download.docker.com/linux/
下载依赖
离线安装
安装方式
YUM源安装
https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
container-selinux和docker-ce-selinux以及container-selinux关系如下:
- docker-ce-selinux和docker-selinux 是一个包的不同分发版本。
- 分析docker-ce17的RPM包发现,其废止了docker-ce-selinux,依赖于container-selinux >= 2.9
二进制安装
https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/
https://download.docker.com/linux/static/stable/x86_64/
构建下载
YUM源制作
在联网状态下进行YUM源制作。
[root@vm221 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
[root@vm221 ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@vm221 ~]# yum clean all
[root@vm221 ~]# yum makecache
构建下载
可以通过--downloadonly
参数进行只下载不安装
默认情况下,下载的rpm包位于以下位置:/var/cache/yum/x86_64/7
获取createrepo安装包
[root@vm221 ~]# yum install --downloadonly --downloaddir=/home/docker createrepo
获取系统更新yum源
[root@vm221 ~]# yum update --downloadonly --downloaddir=/home/docker
获取docker依赖包
[root@vm221 ~]# yum install --downloadonly --downloaddir=/home/docker
yum-utils device-mapper-persistent-data lvm2
获取docker安装包
[root@vm221 ~]# mkdir /home/docker
[root@vm221 ~]# yum install --downloadonly --downloaddir=/home/docker docker-ce-3:19.03.9-3.el7
更新yum源索引
[root@vm221 ~]# yum makecache fast
下载docker所需要的密钥,进入目录/etc/yum.repos.d/
查看文件docker-ce.repo
[root@vm221 ~]# cd /home/docker
[root@vm221 docker]# wget https://download.docker.com/linux/centos/gpg
初始仓库
root@vm221 ~]# yum install createrepo
root@vm221 ~]# createrepo -pdo /home/docker /home/docker
root@vm221 ~]# createrepo --update /home/docker
源文件制作
root@vm221 ~]# cd /home/docker
root@vm221 ~]# touch docker-19.03.9.repo
编辑文件内容如下
[docker]
name=docker-ce
gpgcheck=0
enabled=1
baseurl=file:///home/docker
enabled=1
打包仓库
root@vm221 ~]# cd /home/docker
root@vm221 ~]# tar -zcvf docker-ce-3:19.03.9-3.el7.tar.gz /home/docker
至此离线仓库制作完成
YUM源使用
将tar.gz包上传至/home路径下,并解压docker-ce-3:19.03.9-3.el7.tar.gz文件
root@vm221 ~]# cd /home
root@vm221 ~]# tar -zxvf docker-ce-3:19.03.9-3.el7.tar.gz
安装createrepo
root@vm221 ~]# cd /home/docker
root@vm221 ~]# rpm -ivh createrepo*.rpm
备份安装源
root@vm221 ~]# cd /etc/yum.repos.d/
root@vm221 ~]# mkdir repobak
root@vm221 ~]# mv *.repo repobak/
新增本地源
root@vm221 ~]# cd /home/docker
root@vm221 ~]# cp /home/docker/docker-19.03.9.repo /etc/yum.repos.d/
生成源索引和缓存
root@vm221 ~]# createrepo /home/docker
root@vm221 ~]# yum makecache
安装docker
root@vm221 ~]# yum install docker-ce-3:19.03.9-3.el7
启动docker
root@vm221 ~]# systemctl daemon-reload
root@vm221 ~]# systemctl start docker
root@vm221 ~]# systemctl enable docke