背景說明
在客戶現(xiàn)場經(jīng)常存在離線安裝Docker環(huán)境的需求,這里針對相關(guān)步驟做出簡要記錄。Docker 是一個開源的商業(yè)產(chǎn)品,有兩個版本:社區(qū)版(Community Edition,縮寫為 CE)和企業(yè)版(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關(guān)系如下:
- docker-ce-selinux和docker-selinux 是一個包的不同分發(fā)版本。
- 分析docker-ce17的RPM包發(fā)現(xiàn),其廢止了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/
構(gòu)建下載
YUM源制作
在聯(lián)網(wǎng)狀態(tài)下進行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
構(gòu)建下載
可以通過--downloadonly參數(shù)進行只下載不安裝
默認情況下,下載的rpm包位于以下位置:/var/cache/yum/x86_64/7
獲取createrepo安裝包
[root@vm221 ~]# yum install --downloadonly --downloaddir=/home/docker createrepo
獲取系統(tǒng)更新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
編輯文件內(nèi)容如下
[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