更新docker-tools工具;新增docker-tools_v1.1.0.zip

This commit is contained in:
huty 2025-03-24 10:49:07 +08:00
parent a175075fcd
commit 36e83a6197
2 changed files with 123 additions and 11 deletions

@ -4,7 +4,7 @@
# 参数配置
## 版本号
VERSION=1.0.0
VERSION=1.1.0
## 当前的日期、日期时间
DATE=`date +%Y%m%d`
DATETIME=`date +%Y%m%d`_`date +%H%M%S`
@ -19,11 +19,11 @@ NEED_OFFLINE_INSTALL=false
## 是否安装 Docker Engine
NEED_INSTALL_ENGINE=true
## Docker 版本号
DOCKER_VERSION=28.0.1
DOCKER_VERSION=28.0.2
## Docker 安装包下载地址(在线安装时使用)
DOCKER_PACKAGE_URL=https://download.docker.com/linux/static/stable
## Docker 安装包名称(离线安装时使用)
DOCKER_PACKAGE_NAME=docker-28.0.1.tgz
DOCKER_PACKAGE_NAME=docker-28.0.2.tgz
## 是否安装 Docker Compose
NEED_INSTALL_COMPOSE=true
## Docker Compose 版本号
@ -159,7 +159,7 @@ downloadDockerEnginePackage () {
echo '------------------------------ 开始下载 Docker 安装包... ------------------------------'
wget $DOCKER_PACKAGE_URL/$CPU_ARCH/docker-$DOCKER_VERSION.tgz
$DOCKER_PACKAGE_NAME=docker-$DOCKER_VERSION.tgz
DOCKER_PACKAGE_NAME=docker-$DOCKER_VERSION.tgz
echo '------------------------------ Docker 安装包下载完成! ------------------------------'
}
@ -178,7 +178,7 @@ downloadDockerComposePackage () {
echo '------------------------------ 开始下载 Docker Compose 安装包... ------------------------------'
wget $DOCKER_COMPOSE_PACKAGE_URL/$DOCKER_COMPOSE_VERSION/docker-compose-linux-$CPU_ARCH
$DOCKER_COMPOSE_PACKAGE_NAME=docker-compose-linux-$CPU_ARCH
DOCKER_COMPOSE_PACKAGE_NAME=docker-compose-linux-$CPU_ARCH
echo '------------------------------ Docker Compose 安装包下载完成! ------------------------------'
}
@ -201,28 +201,48 @@ installDockerEngine () {
echo '------------------------------ Docker Engine 安装完成! ------------------------------'
}
## 备份当前 Docker Engine () {
backupDockerEngine () {
echo '------------------------------ 开始备份 Docker Engine... ------------------------------'
cp -rpf $DOCKER_INSTALL_DIR $DOCKER_INSTALL_DIR'_bak_'$DATETIME
echo '------------------------------ Docker Engine 备份完成! ------------------------------'
}
## 安装 Dokcer Compose
installDockerCompose () {
echo '------------------------------ 开始安装 Docker Compose... ------------------------------'
cp -rpf ./$DOCKER_COMPOSE_PACKAGE_NAME $DOCKER_INSTALL_DIR/docker-compose
chown docker.docker $DOCKER_INSTALL_DIR/docker-compose
chmod +x $DOCKER_INSTALL_DIR/docker-compose
echo '------------------------------ Docker Compose 安装完成! ------------------------------'
}
## 备份当前 Docker Coimpose
backupDockerCompose () {
echo '------------------------------ 开始备份 Docker Compose... ------------------------------'
mkdir -pv $DOCKER_INSTALL_DIR'_bak_'$DATETIME
cp -rpf $DOCKER_INSTALL_DIR/docker-compose $DOCKER_INSTALL_DIR'_bak_'$DATETIME/docker-compose
echo '------------------------------ Docker Compose 备份完成! ------------------------------'
}
## 配置环境变量
configEnv () {
echo '------------------------------ 开始配置环境变量... ------------------------------'
cp -rpf ~/.bashrc ~/.bashrc.bak.$DATE
cp -rpf ~/.bashrc ~/.bashrc.bak.$DATETIME
echo '# Docker Env Begin' >> ~/.bashrc
echo 'export DOCKER_HOME='$DOCKER_INSTALL_DIR >> ~/.bashrc
echo 'export PATH=$PATH:$DOCKER_HOME' >> ~/.bashrc
echo '# Docker Env End' >> ~/.bashrc
source ~/.bashrc
cp -rpf /etc/profile /etc/profile.bak.$DATE
cp -rpf /etc/profile /etc/profile.bak.$DATETIME
echo '# Docker Env Begin' >> /etc/profile
echo 'export DOCKER_HOME='$DOCKER_INSTALL_DIR >> /etc/profile
echo 'export PATH=$PATH:$DOCKER_HOME' >> /etc/profile
@ -236,14 +256,14 @@ configEnv () {
removeEnv () {
echo '------------------------------ 开始移除环境变量... ------------------------------'
cp -rpf ~/.bashrc ~/.bashrc.bak.$DATE
cp -rpf ~/.bashrc ~/.bashrc.bak.$DATETIME
sed -i 's/# Docker Env Begin//g' ~/.bashrc
sed -i 's#export DOCKER_HOME='$DOCKER_INSTALL_DIR'##g' ~/.bashrc
sed -i 's/export PATH=$PATH:$DOCKER_HOME//g' ~/.bashrc
sed -i 's/# Docker Env End//g' ~/.bashrc
source ~/.bashrc
cp -rpf /etc/profile /etc/profile.bak.$DATE
cp -rpf /etc/profile /etc/profile.bak.$DATETIME
sed -i 's/# Docker Env Begin//g' /etc/profile
sed -i 's#export DOCKER_HOME='$DOCKER_INSTALL_DIR'##g' /etc/profile
sed -i 's/export PATH=$PATH:$DOCKER_HOME//g' /etc/profile
@ -283,9 +303,9 @@ configDockerEngine () {
cp -rpf daemon.json /etc/docker/daemon.json
sed -i 's#{{DOCKER_DATA_DIR}}#'$DOCKER_DATA_DIR'#g' /etc/docker/daemon.json
chmod -R docker.docker $DOCKER_INSTALL_DIR
chown -R docker.docker $DOCKER_INSTALL_DIR
chmod -R 755 $DOCKER_INSTALL_DIR
chmod -R docker.docker $DOCKER_DATA_DIR
chown -R docker.docker $DOCKER_DATA_DIR
hmod -R 755 $DOCKER_DATA_DIR
echo '------------------------------ Docker 配置完成! ------------------------------'
@ -379,6 +399,43 @@ onlyInstallDockerCompose () {
echo '------------------------------ Docker Conpose 安装完成! ------------------------------'
}
## 更新 Dokcer Engine
onlyUpdateDockerEngine () {
echo '------------------------------ 开始更新 Docker Engine... ------------------------------'
searchCPUArch
if [ $NEED_OFFLINE_INSTALL == "false" ];then
downloadDockerEnginePackage
fi
disableDocker
stopDocker
backupDockerEngine
installDockerEngine
startDocker
if [ $NEED_ENABLE_DOCKER == "true" ];then
enableDocker
fi
infoDocker
echo '------------------------------ Docker Engine 更新完成! ------------------------------'
}
## 更新 Dokcer Compose
onlyUpdateDockerCompose () {
echo '------------------------------ 开始更新 Docker Compose... ------------------------------'
searchCPUArch
if [ $NEED_OFFLINE_INSTALL == "false" ]; then
downloadDockerComposePackage
fi
backupDockerCompose
installDockerCompose
restartDocker
infoDocker
echo '------------------------------ Docker Conpose 更新完成! ------------------------------'
}
## 安装 Docker
install () {
echo '===================================================================================================='
@ -435,6 +492,9 @@ uninstall () {
echo `date +%Y-%m-%d` `date +%H:%M:%S`
echo '============================== 开始卸载 Docker ...... =============================='
echo '删除目录如下 '
echo 'Docker 安装目录 '$DOCKER_INSTALL_DIR
echo 'Docker 数据目录 '$DOCKER_DATA_DIR
echo '此操作将会卸载 Docker 服务,并删除所有文件(包含 Docker 程序文件、镜像、容器文件等请确认是否卸载Y卸载N不卸载E退出'
read NEED_DELETE
case $NEED_DELETE in
@ -465,6 +525,55 @@ uninstall () {
echo '===================================================================================================='
}
## 更新 Docker
update () {
echo '===================================================================================================='
echo `date +%Y-%m-%d` `date +%H:%M:%S`
echo '============================== 开始更新 Docker ...... =============================='
echo '更新参数如下 '
echo 'CPU 架构 '$CPU_ARCH
echo 'Docker 安装目录 '$DOCKER_INSTALL_DIR
echo 'Docker 数据目录 '$DOCKER_DATA_DIR
echo '是否离线安装 '$NEED_OFFLINE_INSTALL
echo '是否安装 Docker Engine '$NEED_INSTALL_ENGINE
echo 'Docker Engine 版本 '$DOCKER_VERSION
echo 'Docker Engine 安装包下载地址(在线安装时使用): '$DOCKER_PACKAGE_URL
echo 'Docker Engine 安装包名称(离线安装时使用) '$DOCKER_PACKAGE_NAME
echo '是否安装 Docker Compose '$NEED_INSTALL_COMPOSE
echo 'Docker Compose 版本 '$DOCKER_COMPOSE_VERSION
echo 'Docker Compose 安装包下载地址(在线安装时使用) '$DOCKER_COMPOSE_PACKAGE_URL
echo 'Docker Compose 安装包名称(离线安装时使用) '$DOCKER_COMPOSE_PACKAGE_NAME
echo '是否开机自动启动: '$NEED_ENABLE_DOCKER
echo '此操作将会更新当前 Docker 版本存在一定风险请确认是否更新Y更新N不更新E退出'
read NEED_UPDATE
case $NEED_UPDATE in
Y)
if [ $NEED_INSTALL_ENGINE == "true" ]; then
onlyUpdateDockerEngine
fi
if [ $NEED_INSTALL_COMPOSE == 'true' ]; then
onlyUpdateDockerCompose
fi
;;
N)
echo '取消更新。'
;;
E)
echo '退出更新。'
exit 1
;;
*)
echo '参数错误。'
exit 1
;;
esac
echo '============================== Docker 更新完成!!! =============================='
echo `date +%Y-%m-%d` `date +%H:%M:%S`
echo '===================================================================================================='
}
# 初始化选项
echo $@
@ -534,6 +643,9 @@ case $@ in
uninstall)
uninstall
;;
update)
update
;;
info)
info
;;

Binary file not shown.