shell脚本之二进制安装docker

#!/bin/bash
#Author:haodong
#Date:2022-3-31
#Func:quickly install docker-19.03.3.tar.gz

#set -e
set -x
clear
. /etc/init.d/functions

function check_network (){
        local timeout=1
        local target=www.baidu.com
        local return_code=$(curl -I -s --connect-timeout ${timeout} ${target} -w %{http_code} | tail -n1)

        if [ "x$return_code" = "x200" ];then
                action "Check Netwrok pass" /bin/true
        else
                action "Check Network failed" /bin/failed
                exit 1
        fi
}

function install_docker (){
        if  rpm -q wget &>/dev/null;then
                wget https://download.docker.com/linux/static/stable/x86_64/docker-19.03.3.tgz -P /opt &>/dev/null
        else
                yum -y install wget &> /dev/null && \
                wget https://download.docker.com/linux/static/stable/x86_64/docker-19.03.3.tgz -P /opt &>/dev/null
        fi
        tar -xf /opt/docker-19.03.3.tgz -C /opt && cp -rf /opt/docker/* /usr/bin
        cat > /usr/lib/systemd/system/docker.service <<-EOF
        [Unit]
        Description=Docker Application Container Engine
        Documentation=https://docs.docker.com
        After=network-online.target firewalld.service
        Wants=network-online.target

        [Service]
        Type=notify
        ExecStart=/usr/bin/dockerd
        ExecReload=/bin/kill -s HUP
        LimitNOFILE=infinity
        LimitNPROC=infinity
        TimeoutStartSec=0
        Delegate=yes
        KillMode=yes
        Restart=on-failure
        StartLimitBurst=3
        StartLimitInterval=60s

        [Install]
        WantedBy=multi-user.target
        EOF

        systemctl restart docker && systemctl enable docker &>/dev/null
        local docker_status=$(systemctl is-active docker)
        if [[ ${docker_status} == "active" ]];then
                action "Docker-19.03.3 is Installed" /bin/true
        elif which docker &>/dev/null;then
                action "Docker-19.03.3 is Installed" /bin/true
        else
                action "Docker daemon service start fail" /bin/false
                exit
        fi
}
check_network
install_docker

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

河 静

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

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

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

打赏作者

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

抵扣说明:

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

余额充值