- 下载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 #使上述配置生效