Docker在Linux环境下的一键部署

发布时间:2024-12-07 人气:96次


本次主要是针对以下几方面进行优化:优化方向

1. Root权限

  在之前v1.0版本中,root权限主要是依据个人自主判断,手动输入y/yes的方式去判定,这对执行脚本的人需要一定的判断能力,无法做到一键傻瓜式运行。那针对这个问题,通过引用参数ROOT_TYPE将whoami得出的值进行判断,当判断出结果是Root,则继续运行脚本,如果不是,则跳出脚本,并提示原因。

2. RHEL架构

  在上一个版本的脚本中,仅针对Ubuntu进行定制执行。(主要是博主本人常用的OS基本都是Ubuntu)。但博主的朋友用啥的都有,甚至还有用CentOS 7这种EOL的操作系统,加上公司有计划将原本EOL的Linux更改为Rocky和Ubuntu,于是针对RHEL系中的CentOS和Rocky做了适配。

  本着无需人为干预的原则,对OS的判断也采用了脚本自行判断的方式,同样引用参数OS_TYPE将OS的参数值进行判断。为了找到各个操作系统都能获取到OS类型的命令,查询了大量的资料和自己实际安装了一台Rocky和CentOS进行实际查询,找到了/etc/os-release中的NAME参数,并对OS_TYPE进行赋值和判断。

  之后会根据判断出来的OS,自动跳转到相应的命令,并自动化执行。

3. 国内加速源

  在上一个版本的脚本中,未对国内的加速源进行加速,导致在安装完成后,通过Docker拉取镜像会失败。

  在本v2.0版本中,增加的修改加速源的选项。位置在各个OS版本的操作行中的3中。

脚本命令


#!/usr/bin/env bash

str1="一、正在判断当前账户是否为root"echo "-----------------------------------------------------------------------"echo -e "${str1}"echo "-----------------------------------------------------------------------" #获取当前账户权限ROOT_TYPE=$(whoami)#echo "$ROOT_TYPE" #判断当前账户权限是否为rootcase $ROOT_TYPE in    root)        echo -e "当前账户是Root,将继续执行"        ;;    *)        echo -e "当前账户不是Root,请切换至Root账户下执行"        exit 1        ;;esac str2="二、正在判断当前OS类型"echo "-----------------------------------------------------------------------"echo -e "${str2}"echo "-----------------------------------------------------------------------" # 获取操作系统类型OS_TYPE=$(cat /etc/os-release |grep "^NAME" |awk -F " '{print $2}')#echo "$OS_TYPE" # 判断操作系统类型并进行到相应的步骤case $OS_TYPE in    Ubuntu)        echo -e "操作系统版本为:Ubuntu"        # 针对 Ubuntu 系统的步骤        str3="三、正在一键部署Docker,请稍候"        echo "-----------------------------------------------------------------------"        echo -e "${str3}"        echo "-----------------------------------------------------------------------"        echo ""        echo ""        echo -e "1.正在添加Docker库(阿里)"        apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release -y -q        curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg        echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null        apt update        echo ""        echo ""        echo -e "2.正在安装Docker"        apt install docker-ce docker-ce-cli containerd.io docker-compose docker-compose-plugin -y -q        echo ""        echo ""        echo -e "3.正在写入Docker国内加速源"        # 国内加速源,可替换        echo -e "{ "registry-mirrors":["https://docker.

实际使用

  在实际使用过程中,基本可以完成覆盖CentOS 7全版本和Rocky全系列。

  唯一的缺陷在于国内加速源不太稳定,可能需要时刻进行更新,并且未对加速源通过指定参数去赋值,导致每次加速源更新都需要对所有涉及到的操作进行更新。


选择订阅-通过 Docker 订阅在协作、安全性和支持之间找到完美的平衡!
在线客服
联系方式

热线电话

18221674630

上班时间

周一到周五

公司电话

18221674630

二维码
线
获取免费体验资格

提交后,我们将在3个小时内与您联系