- 下載CentOS7.6以及最小化安裝CentOS7.6版本。由於CentOS屬於開源軟件,在國內也有很多的mirror站點可供下載,我選擇的是華為站點進行下載:http://mirrors.huaweicloud.com/centos/7.6.1810/isos/x86_64/
- 最小化安裝完成之后需要禁用防火牆以及SElinux配置:
systemctl disable firewalld systemctl stop firewalld vim /etc/selinux/config
- 最小化安裝完成之后,由於很多安裝包不具備,影響調試,需要基於ISO配置本地yum源,安裝一些依賴包。
- 創建本地目錄,並將ISO文件上傳到目錄中。本例中以/mnt/iso和/mnt/yumiso為例:
mkdir -p /mnt/iso #將CentOS的ISO上傳到此目錄
mkdir -p /mnt/yumiso - 掛載本地目錄,如果要實現開機自動掛載,需要編輯/etc/fstab,增加如下代碼“/mnt/iso/CentOS-7-x86_64-DVD-1810.iso /mnt/yumiso iso9660 loop,defaults 0 0”:
mount -o loop /mnt/iso/CentOS-7-x86_64-DVD-1810.iso /mnt/yumiso/
- 備份原始yum源文件目錄,創建新的yum源文件:
mv /etc/yum.repos.d /etc/yum.repos.d.bak mkdir /etc/yum.repos.d vi /etc/yum.repos.d/CentOS-local.repo
- 在文件中增加如下內容:
#本源的名字(不能和其他重復) [base-local] name=CentOS7.2-local #步驟2中掛載鏡像創建的目錄 baseurl=file:///mnt/yumiso #啟動yum源: 1-啟用 0-不啟用 enabled=1 #安全檢測: 1-開啟 0-不開啟 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
- 創建完成之后,分別執行如下命令清空並重新建立yum緩存,查看是否創建成功:
yum clean all yum makecache yum repolist
- 執行如下命令,安裝net-tools、vim、createrepo組件,方便后續操作:
yum -y install net-tools #安裝網絡工具 yum -y install vim #安裝vim yum -y install createrepo #為安裝docker做准備,可支持配置本地文件夾為yum源目錄
- 下載並安裝Docker安裝包和依賴包,下載路徑:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/,需要下載的文件如下:
[root@k8s-node2~]# ll /opt/app/docker/ total 60024 -rw-r--r--. 1 root root 27119348 Jul 29 14:15 containerd.io-1.2.6-3.3.el7.x86_64.rpm -rw-r--r--. 1 root root 39688 Jul 29 14:15 container-selinux-2.99-1.el7_6.noarch.rpm -rw-r--r--. 1 root root 19603424 Jul 29 14:15 docker-ce-18.09.7-3.el7.x86_64.rpm -rw-r--r--. 1 root root 14692900 Jul 29 14:15 docker-ce-cli-18.09.7-3.el7.x86_64.rpm
- 純手動離線安裝docker,需要手動獲取如下安裝包,如果大家嚴格按照我的步驟來,可以在ISO中獲取“/mnt/yumiso/Packages”:
[root@k8s-master~]# ll *.rpm -rw-r--r--. 1 root root 78216 Jul 26 18:23 audit-libs-python-2.8.4-4.el7.x86_64.rpm -rw-r--r--. 1 root root 302068 Jul 26 18:23 checkpolicy-2.5-8.el7.x86_64.rpm -rw-r--r--. 1 root root 67652 Jul 26 18:23 libcgroup-0.41-20.el7.x86_64.rpm -rw-r--r--. 1 root root 56988 Jul 26 18:23 libseccomp-2.3.1-3.el7.x86_64.rpm -rw-r--r--. 1 root root 115284 Jul 26 18:23 libsemanage-python-2.5-14.el7.x86_64.rpm -rw-r--r--. 1 root root 466616 Jul 26 18:23 policycoreutils-python-2.5-29.el7.x86_64.rpm -rw-r--r--. 1 root root 32880 Jul 26 18:23 python-IPy-0.75-6.el7.noarch.rpm -rw-r--r--. 1 root root 635184 Jul 26 18:23 setools-libs-3.3.8-4.el7.x86_64.rpm
可以使用rpm -ivh依次安裝上述依賴包,安裝完成后,再安裝docker安裝包,這種方式比較簡單,就不再一一介紹步驟了,詳細的順序如下:
rpm -ivh checkpolicy-2.5-8.el7.x86_64.rpm rpm -ivh libcgroup-0.41-20.el7.x86_64.rpm rpm -ivh libseccomp-2.3.1-3.el7.x86_64.rpm rpm -ivh libsemanage-python-2.5-14.el7.x86_64.rpm rpm -ivh audit-libs-python-2.8.4-4.el7.x86_64.rpm rpm -ivh setools-libs-3.3.8-4.el7.x86_64.rpm rpm -ivh python-IPy-0.75-6.el7.noarch.rpm rpm -ivh policycoreutils-python-2.5-29.el7.x86_64.rpm rpm -ivh container-selinux-2.99-1.el7_6.noarch.rpm rpm -ivh containerd.io-1.2.6-3.3.el7.x86_64.rpm rpm -ivh docker-ce-cli-18.09.7-3.el7.x86_64.rpm rpm -ivh docker-ce-18.09.7-3.el7.x86_64.rpm
- 基於本地yum源使用yum方式安裝docker步驟如下:
- 將步驟3中下載的四個docker安裝包上傳到目錄中,比如:/opt/app/docker
- 使用createrepo將本地目錄添加為yum源,此時會在這個目錄下自動創建一些文件:
createrepo /opt/app/docker/
- 創建docker安裝源文件,方式和步驟2相同:
cd /etc/yum.repos.d vim docker.repo
- 文件中增加如下內容:
[docker] name=docker baseurl=file:///opt/app/docker/ enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Centos-7
- 創建完成之后,分別執行如下命令清空並重新建立yum緩存,查看是否創建成功:
yum clean all yum makecache yum repolist
- 執行命令查看docker-ce是否能夠查詢到:
yum list docker-ce
- 執行如下命令,離線安裝docker
yum -y install docker-ce
- docker安裝完成之后,需要執行如下命令,設置docker的一下基礎配置,如開機自動啟動等等:
systemctl enable docker #開機自動啟動docker systemctl start docker #啟動docker進程 vi /lib/systemd/system/docker.service #編輯docker服務配置文件,在ExecStart命令之前增加如下配置(可選,這個在安裝K8S的時候才有用): ExecStartPost=/sbin/iptables -I FORWARD -s 0.0.0.0/0 -j ACCEPT systemctl daemon-reload systemctl stop docker systemctl start docker #使上述配置生效