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"
}