Docker一键安装脚本

1、下载docker二进制安装包,下载地址:https://download.docker.com/linux/static/stable/x86_64/

2、将安装包和脚本上传到服务器上,给脚本赋予可执行权限

3、执行脚本安装即可,脚本内容如下:

#!/bin/bash
# @Function: Install Docker CE
# @Author: Gong Guan
# @Date: 2021-11-01
set -e
setenforce 0                                                         #临时关闭selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config  #永久关闭
exec 1> output.txt 
exec 2> errout.txt
DfileName=docker-20.10.8.tgz
if [ -f ${DfileName} ];then
   echo "<<<<<<<<<<<解压文件(Unzip File)>>>>>>>>>>>>"
   tar -zxvf ${DfileName}
   [ $? -eq 0 ] && echo "<<<<<<<<<<<File Unzip success>>>>>>>>>>>>"
   mv docker/* /usr/bin
else
   echo "Docker File Not Found"
   exit 1
fi
[ ! -d /etc/docker ] && mkdir /etc/docker
echo "<<<<<<<<<<<<<<Config daemon.json>>>>>>>>>>>>>>"
cat > /etc/docker/daemon.json << EOF
{
    "exec-opts": ["native.cgroupdriver=systemd"],
    "insecure-registries":["192.168.51.228:5000"],
    "registry-mirrors": ["https://docker.m.daocloud.io","https://docker.xuanyuan.me"],
    "max-concurrent-downloads": 10,
    "max-concurrent-uploads": 5,
    "log-driver": "json-file",
    "storage-driver": "overlay2",
    "data-root": "/data/docker",
    "storage-opts": [
    "overlay2.override_kernel_check=true"
    ],
    "log-opts":{
        "max-size": "300m",
        "max-file": "2" 
    },
    "live-restore": true
}
EOF
echo "<<<<<<<<<<<设置服务托管docker>>>>>>>>>>>>>>"
cat > /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 $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
echo "<<<<<<<<<<<<<<设置开机自启动(Startup self)>>>>>>>>"
systemctl daemon-reload
systemctl enable docker
echo "<<<<<<<<<<<<<<开启docker(startup Docker)>>>>>>>>>>"
systemctl start docker
echo "<<<<<<<<<<<<<<查看docker状态(status)>>>>>>>>>>>"
systemctl status docker

注意:新版本29.1.3已经不支持overlay2.override_kernel_check=true参数,注释掉就行了,否则启动失败

标签