在前期的文章: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工具箱,主要工具有:镜像加速地址切换、存储驱动修改

本期更新效果图:

脚本的使用方法在文章末尾的“了解更多”,点击即可进去




docker 已经存在的容器修改端口映射 docker端口映射删除_centos7 docker删除端口映射

选择安装功能




docker 已经存在的容器修改端口映射 docker端口映射删除_包管理器_02

安装完成




docker 已经存在的容器修改端口映射 docker端口映射删除_主文件_03

Docker版本查看验证



下期计划推进:

Docker工具箱:私有镜像仓库地址配置、Docker远程访问配置、Docker容器端口映射修改(这个通过脚本实现可能比较麻烦)

Dcoekr和K8S服务安装:推进Ubuntu18、Ubuntu20、UOS20的适配

K8S集群配置:推进CentOS7、CentOS8、Debian10的适配

下期内容更新

下期将带来snap的使用及介绍,后续将snap集成到脚本

本期小福利:教你如何拆解我的脚本

由于我的脚本是通过自己编写组件,然后通过拼接组件的方式进行服务的安装与配置,由于不同的组件放在了不同的文件,所以功能无法通过独立脚本去运行。

换个说法就是我没有把组件全部写在一个文件上,所以如果需要独立的脚本文件实现一个功能,那就可以通过最基础的组件内容放在同一个脚本文件即可。

拆解Docker在Debian10的安装脚本

首先我们第一步是查看主文件内容




docker 已经存在的容器修改端口映射 docker端口映射删除_Docker_04

查看主文件内容



source就是获取某个文件下所有的内容(如果是命令会直接执行,如果是函数则需要引用才能执行),所以我们跟着这个item.sh文件看下去:

从备注信息看,这个文件主要是实现基础功能,例如:花里胡哨的颜色字体、服务的安装之类,所以第一步就是把这个脚本的所有内容复制到一个新的脚本文件




docker 已经存在的容器修改端口映射 docker端口映射删除_Docker_05

item文件的作用




docker 已经存在的容器修改端口映射 docker端口映射删除_Docker_06

item更多内容



然后我把它复制到一个demo.sh的新文件




docker 已经存在的容器修改端口映射 docker端口映射删除_包管理器_07

粘贴到新文件



然后继续回到主文件“Y”




docker 已经存在的容器修改端口映射 docker端口映射删除_主文件_08

加载功能函数



在这里呢,我是通过一个自定义函数“Loading_function”去加载后面的所有脚本内容的,这个和第一步一样,这一步先不管,继续往下:

在这里我们看到两个函数调用、第一个是包管理器的判断,第二个是系统类型的判断,这个属于基本函数,所以我们要去复制里面的内容




docker 已经存在的容器修改端口映射 docker端口映射删除_包管理器_09

获取当前系统信息



如何找到函数所在位置:举个例子

get_os_info_os-Package-management

首先看下划线开头的“get_os_info”,这一段指的是文件夹路径,所以我们进去:




docker 已经存在的容器修改端口映射 docker端口映射删除_centos7 docker删除端口映射_10

进入“get_os_info”



然后os-Package-management,,其中“os”是文件名,指的是“os.sh”,然后我们进入这个文件:




docker 已经存在的容器修改端口映射 docker端口映射删除_主文件_11

get_os_info_os-Package-management函数



然后我们就找到这个函数的内容了,由于这个os.sh的功能都是最基础的,所以我们直接全部粘贴到“demo.sh”里面:




docker 已经存在的容器修改端口映射 docker端口映射删除_Docker_12


然后继续找其他的函数,再把函数内容丢进demo.sh即可完成一个独立的脚本,在这里就只讲解这个思路,具体实现可以亲自试一下!