Centos自动部署Docker18

说明:该脚本适用于Centos 7系列的系统,安装docker版本为Docker18.06CE。

#!/bin/bash
#该脚本内容有:升级Centos7内核、安装Docker18.06CE
read -p "请输入您要执行的操作(按'h'可查看帮助): " let
#set -eo pipefail

function log (){
        msg="$1"
        if [ $? -eq 0 ];then
                echo "${msg} 执行成功" >>/tmp/install_docker.log
        else
                echo "${msg} 执行失败" >>/tmp/install_docker_error.log
        fi
}

function Current_conf(){
	Kernel=`uname -r`
	echo -e "\033[33m当前内核版本为:${Kernel} \033[0m"
}


#函数-升级内核
function Update_kernel() {
        #安装工具
        yum -y install vim net-tools ntp ntpdate  yum-utils device-mapper-persistent-data lvm2
        log "安装常用工具"

        #关闭防火墙,禁止firewalld开机启动
        systemctl stop firewalld.service &  systemctl disable firewalld.service
        log "防火墙设置"

        #升级内核
        rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
        rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
        yum --disablerepo=\* --enablerepo=elrepo-kernel repolist
        yum --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-ml.x86_64
        #删除旧版本工具包
        yum remove -y kernel-tools-libs.x86_64 kernel-tools.x86_64
        log "删除旧版本工具包"

        # 安装新版本工具包
        yum --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-ml-tools.x86_64
        log "安装新版本工具包"

        sed -i 's/GRUB_DEFAULT=saved/GRUB_DEFAULT=0/g' /etc/default/grub
        log "修改/etc/default/grub文件"
        grub2-mkconfig -o /boot/grub2/grub.cfg
        log "设置内核启动项"

}

#函数-安装docker-ce-18.06.0.ce-3.el7
function Docker(){
	docker --version
	if [ $? -eq 0 ];then
	  	echo "docker 已经安装"
		exit 0
	fi
        yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
        yum list docker-ce.x86_64 --showduplicates | sort -r|grep "docker-ce-18.06.0.ce-3.el7"
        log "查询docker-ce18软件包"
        yum makecache fast && yum -y install docker-ce-18.06.0.ce-3.el7
        log "docker-ce 安装"

        #设置阿里云加速
		[ -d /etc/docker ] || mkdir -p /etc/docker && [ -f /etc/docker/daemon.json ] && rm -rf /etc/docker/daemon.json

cat > /etc/docker/daemon.json <<EOF
{
	"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"],
     	"registry-mirrors": ["https://tgv7oaqr.mirror.aliyuncs.com"]
}	
EOF

        log "设置阿里云加速"

        #启动docker
        systemctl daemon-reload && systemctl restart docker
        log "启动docker"
        #设置开机启动
        systemctl enable docker.service
        log "设置开机自启动"
}


while [ -n $let ]
do 
case $let in
	
	c | conf)
        	Docker
        	echo -e "\033[33mDocker 服务已经搭建完成,详细情况见日志(/tmp/install_docker.log) \033[0m"
		exit 1
        	;;
	u | update)
        	Update_kernel
        	echo -e "\033[33m请检查当前安装进程,如无异常,请手动重启服务器,详细情况见日志(/tmp/install_docker.log) \033[0m"
		exit 1
        	;;

	q | quit)
		exit 1
		;;

	k | kernel)
		Current_conf
		;;
	h | help)
		echo -e "\033[33m输入 u/update  即:升级内核 --> 配置docker环境 \033[0m"
		echo -e "\033[33m输入 c/conf    即:服务器后重启方可执行 --> 安装docker \033[0m"
		echo -e "\033[33m输入 q/quit    即:退出 \033[0m"
		echo -e "\033[33m输入 h/help    即:帮助 \033[0m"
		;;
	*)
        	echo -e "\033[31m======你输入参数有误,输入 'h/help' 查看帮助=======\033[0m"
        	;;
esac
	read -p "请输入您要执行的操作(按'h'可查看帮助): " let
done

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想个响亮的名字

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值