您的位置 首页 shell案例

install-docker.sh (安装docker 脚本 离线安装)

install-docker.sh

安装:

sh install-docker.sh  install

 

下载:

git clone https://gitee.com/wang-huamao/docker-binary-install.git

 

脚本:

#!/bin/bash
# auther: baimei
# 官网地址: www.baimeidashu.com

DOCKER_VERSION=24.0.2
#DOCKER_VERSION=20.10.24
FILENAME=docker-${DOCKER_VERSION}.tgz
URL=https://download.docker.com/linux/static/stable/x86_64
DOWNLOAD=./download
BASE_DIR=/baimei/softwares

# 定义安装函数
function InstallDocker(){
    # 判断文件是否存在,若不存在则下载软件包
    if [ ! -f ${DOWNLOAD}/${FILENAME} ]; then
       wget ${URL}/${FILENAME} -O ${DOWNLOAD}/${FILENAME}
    fi
    
    # 判断解压路径是否存在
    if [ ! -d ${BASE_DIR} ]; then
      install -d ${BASE_DIR}
    fi
    
    # 解压软件包到指定目录
    tar xf ${DOWNLOAD}/${FILENAME} -C ${BASE_DIR}
    
    # 创建软连接
    ln -svf ${BASE_DIR}/docker/* /usr/bin/
    
    # 自动补全功能
    cp $DOWNLOAD/docker /usr/share/bash-completion/completions/docker
    source /usr/share/bash-completion/completions/docker
    
    # 配置镜像加速
    install -d /etc/docker
    cp $DOWNLOAD/daemon.json /etc/docker/daemon.json
    
    # 开机自启动脚本
    cp download/docker.service /usr/lib/systemd/system/docker.service
    systemctl daemon-reload
    systemctl enable --now docker
    docker version
    tput setaf 3
    echo "安装成功,欢迎使用白眉大叔二进制docker安装脚本,欢迎下次使用!---> www.baimei.com"
    tput setaf 2
}


# 卸载docker
function UninstallDocker(){
  # 停止docker服务
  systemctl disable --now docker

  # 卸载启动脚本
  rm -f /usr/lib/systemd/system/docker.service

  # 清空程序目录
  rm -rf ${BASE_DIR}/docker

  # 清空数据目录
  rm -rf /var/lib/{docker,containerd} 

  # 清除符号链接
  rm -f /usr/bin/{containerd,containerd-shim,containerd-shim-runc-v2,ctr,docker,dockerd,docker-init,docker-proxy,runc}

  # 使得终端变粉色
  tput setaf 5
  echo "卸载成功,欢迎再次使用白眉大叔二进制docker安装脚本哟~ ----> www.baimei.com"
  tput setaf 7
}


# 程序的入口函数
function main(){
   # 判断传递的参数
   case $1 in
     "install")
      InstallDocker
      ;;
     "remove")
      UninstallDocker
      ;;
     *)
       echo "Invalid parameter, Usage: $0 install|remove"
       ;;
   esac
}

# 向入口函数传参
main $1 

 

---注意:

vim /usr/lib/systemd/system/docker.service

 

 

2- 更改docker 的存储目录

 

mkdir /mnt/data/docker -p

然后

{  
  "registry-mirrors": ["https://tuv7rqqq.mirror.aliyuncs.com"],
  "log-opts": {
    "max-size": "5m",
    "max-file":"3"
  },
  "exec-opts": ["native.cgroupdriver=systemd"],
  "data-root": "/mnt/data/docker"
}

需要重启服务生效

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章