Centos7离线安装Docker脚本

1、文件结构

docker_install/
├── docker-27.4.1.tgz
├── docker-compose-linux-x86_64
└── docker_install.sh

2、下载docker安装包

wget https://download.docker.com/linux/static/stable/x86_64/docker-27.4.1.tgz

3、下载docker-compose

wget https://github.com/docker/compose/releases/download/v2.32.1/docker-compose-linux-x86_64

4、编写安装脚本

#!/bin/bash


# docker安装
docker_install() {
    echo -e '\033[31m 解压文件至/usr/bin/目录 \033[0m'
    tar -zxvf docker-27.4.1.tgz
    chmod +x docker/* && cp docker/* /usr/bin/
    echo -e '\033[31m 创建docker.servicer服务 \033[0m'
    cat > /etc/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 --selinux-enabled=false --insecure-registry=127.0.0.1
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
EOF
    # 注:旧版本docker不再支持使用 graph 指令指定数据的存储位置,可以使用新的 data-root 指令代替 graph 指令。
    echo -e '\033[31m 创建docker配置文件,配置镜像源并指定安装目录为/opt/docker \033[0m'
    mkdir -p {/etc/docker,/opt/docker} && cat > /etc/docker/daemon.json << EOF
{
  "registry-mirrors": ["https://qj799ren.mirror.aliyuncs.com","https://4c99aa72f1a643edb02b13b93fec6a17.mirror.swr.myhuaweicloud.com"],
  "data-root":"/opt/docker"
}
EOF
    echo -e '\033[31m 加载配置文件并启动docker服务 \033[0m'
    systemctl daemon-reload
    systemctl start docker
    systemctl enable docker
    sleep 5s
    status=$(systemctl status docker | awk 'NR==3 {print $2}')
    if [ $status == "active" ]; then
        echo -e '\033[31m docker install success \033[0m'
    else
        echo -e '\033[31m docker install failed \033[0m'
        exit 1
    fi
}


# docker-compose安装
docker-composer() {
    chmod +x docker-compose-linux-x86_64 && mv docker-compose-linux-x86_64 /usr/bin/docker-compose
    version=$(docker-compose --version | awk '{print $4}')
    if [[ $version == v* ]]; then
        echo -e '\033[31m docker-compose install success \033[0m'
    else
        echo -e '\033[31m docker-compose install failed \033[0m'
        exit 1
    fi
}

# docker安装包下载
echo -e '\033[31m 开始安装docker \033[0m'
sleep 3s
if [ -f docker-27.4.1.tgz ]; then
    echo -e '\033[31m docker-27.4.1.tgz文件已存在 \033[0m'
    docker_install
else
    echo -e '\033[31m docker-27.4.1.tgz文件不存在!开始下载docker-27.4.1.tgz文件 \033[0m'
    wget https://download.docker.com/linux/static/stable/x86_64/docker-27.4.1.tgz
    if [ $? -eq 0 ]; then
        echo -e '\033[31m docker-27.4.1.tgz文件下载成功,开始安装 \033[0m'
        docker_install
    else
        echo -e '\033[31m docker-27.4.1.tgz文件下载失败 \033[0m'
        exit 1
    fi
fi

# docker-compose安装包下载
echo -e '\033[31m 开始安装docker-compose \033[0m'
sleep 3s
if [ -f docker-compose-linux-x86_64 ]; then
    echo -e '\033[31m docker-compose-linux-x86_64文件已存在 \033[0m'
    docker-composer
else
    echo -e '\033[31m docker-compose文件不存在!开始下载docker-compose文件 \033[0m'
    wget https://github.com/docker/compose/releases/download/v2.32.1/docker-compose-linux-x86_64
    if [ $? -eq 0 ]; then
        echo -e '\033[31m docker-compose-linux-x86_64文件下载成功,开始安装 \033[0m'
        docker-composer
    else
        echo -e '\033[31m docker-compose-linux-x86_64文件下载失败 \033[0m'
        exit 1
    fi
fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值