在前期的文章:Shell脚本一键安装Docker服务说明了脚本的使用方式,本期带来了脚本主要特点:
1、支持多系统(目前适配Centos7、CentOS8、Debian10,适配其他系统及版本也会越来越快)
2、组件拼接方式(每个功能拆分成一个函数,需要的时候就调用函数即可,减少大量重复内容)
3、规范化(每个函数命名方式遵循一定的规范,通过规范可以减少命名混乱的问题)
4、开源代码(全部脚本内容都不加密,真正做到放心,点击文章末尾“了解更多”即可查看脚本内容)
本期更新内容:
1、支持apt/yum/dnf包管理器判断(自动判断当前系统使用的管理器)
2、增加K8S服务在CentOS系统的安装功能(集群配置待完善,Debian系统适配预计明天完成)
3、完成Docker在CentOS7、CentOS8、Debian10的安装配置(Debian使用docker.io)
4、增加Docker工具箱,主要工具有:镜像加速地址切换、存储驱动修改
本期更新效果图:
脚本的使用方法在文章末尾的“了解更多”,点击即可进去
![9bdac6ed439251eb8f07e86c88064e70.png](https://i-blog.csdnimg.cn/blog_migrate/a5cf23e9347b01d52692685d409b7549.jpeg)
选择安装功能
![92e26646101cf56a7805269b914b4c00.png](https://i-blog.csdnimg.cn/blog_migrate/92427b491c31915191e25fe551fc0cbe.jpeg)
安装完成
![0a180448b765031b3b106e142485d5be.png](https://i-blog.csdnimg.cn/blog_migrate/cdbd9b9b2440fddff89ee035a6de6a4d.jpeg)
Docker版本查看验证
下期计划推进:
Docker工具箱:私有镜像仓库地址配置、Docker远程访问配置、Docker容器端口映射修改(这个通过脚本实现可能比较麻烦)
Dcoekr和K8S服务安装:推进Ubuntu18、Ubuntu20、UOS20的适配
K8S集群配置:推进CentOS7、CentOS8、Debian10的适配
下期内容更新
下期将带来snap的使用及介绍,后续将snap集成到脚本
本期小福利:教你如何拆解我的脚本
由于我的脚本是通过自己编写组件,然后通过拼接组件的方式进行服务的安装与配置,由于不同的组件放在了不同的文件,所以功能无法通过独立脚本去运行。
换个说法就是我没有把组件全部写在一个文件上,所以如果需要独立的脚本文件实现一个功能,那就可以通过最基础的组件内容放在同一个脚本文件即可。
拆解Docker在Debian10的安装脚本
首先我们第一步是查看主文件内容
![4d1265d871feed7da67b6c4158d17b37.png](https://i-blog.csdnimg.cn/blog_migrate/e24a29adfc9bc2e3938e1542651004ea.jpeg)
查看主文件内容
source就是获取某个文件下所有的内容(如果是命令会直接执行,如果是函数则需要引用才能执行),所以我们跟着这个item.sh文件看下去:
从备注信息看,这个文件主要是实现基础功能,例如:花里胡哨的颜色字体、服务的安装之类,所以第一步就是把这个脚本的所有内容复制到一个新的脚本文件
![2a69ef7589c033d733482ebb35b8f487.png](https://i-blog.csdnimg.cn/blog_migrate/0a54906a830e1b70d28f303211573f6c.jpeg)
item文件的作用
![db05c64728a99bd7a5284cd3f4813d29.png](https://i-blog.csdnimg.cn/blog_migrate/1c7ef3de09bcb9f5d5d317908fe16e80.jpeg)
item更多内容
然后我把它复制到一个demo.sh的新文件
![4c66f38778001f03281c92bcbea77120.png](https://i-blog.csdnimg.cn/blog_migrate/45ed6c21e3e6659af2f13a072a1ee066.jpeg)
粘贴到新文件
然后继续回到主文件“Y”
![90adec6a75829190696b5742f7c4b90c.png](https://i-blog.csdnimg.cn/blog_migrate/fdc4139e051eb231d9ed298782b633c1.jpeg)
加载功能函数
在这里呢,我是通过一个自定义函数“Loading_function”去加载后面的所有脚本内容的,这个和第一步一样,这一步先不管,继续往下:
在这里我们看到两个函数调用、第一个是包管理器的判断,第二个是系统类型的判断,这个属于基本函数,所以我们要去复制里面的内容
![cdc2d8b86bbe34f9e23fd6fa8f61952e.png](https://i-blog.csdnimg.cn/blog_migrate/1ad3c6d836a1b650af1182143f3775c7.jpeg)
获取当前系统信息
如何找到函数所在位置:举个例子
get_os_info_os-Package-management
首先看下划线开头的“get_os_info”,这一段指的是文件夹路径,所以我们进去:
![72eafe8a5a9ebecfccae8476b2febc16.png](https://i-blog.csdnimg.cn/blog_migrate/12b88b699f57bd2cf29b906573724c78.jpeg)
进入“get_os_info”
然后os-Package-management,,其中“os”是文件名,指的是“os.sh”,然后我们进入这个文件:
![cebdfb245ca56aad4eb639fbe135ae20.png](https://i-blog.csdnimg.cn/blog_migrate/5d2598231c2bb16d28e9e5a4876fe40d.jpeg)
get_os_info_os-Package-management函数
然后我们就找到这个函数的内容了,由于这个os.sh的功能都是最基础的,所以我们直接全部粘贴到“demo.sh”里面:
![3c39b06106847393aa53eb26d9afdd16.png](https://i-blog.csdnimg.cn/blog_migrate/4ce5c6c7dcb9fa7f9c5bc8e5e2cd67bd.jpeg)
然后继续找其他的函数,再把函数内容丢进demo.sh即可完成一个独立的脚本,在这里就只讲解这个思路,具体实现可以亲自试一下!
关注我,下期出一个独立脚本!