2025-09-14 19:00:57 +08:00

93 lines
2.0 KiB
Bash

#!/bin/bash
schema="http://"
registryUrl="192.168.10.102:8001"
registryNameSpace="xiaomayi"
user="deploy"
pass="Harbor20240330"
serverName=$2
imageName="${registryUrl}/${registryNameSpace}/${serverName}"
tag=$3
desc() {
clear
echo "==========================================================="
echo "Deploy Containter"
echo "==========================================================="
echo "version 0.1"
echo "deploy: deploy containter"
echo "delete: delete containter"
echo ""
echo "==========================================================="
echo press any key to continue && read TEMP && echo ok..
}
list_image() {
image_id=`docker inspect --format="{{.Config.Image}}" ${serverName}`
}
list_process() {
process_id=`docker inspect --format="{{.Id}}" ${serverName}`
}
#pull镜像
pull_image() {
echo "----------------"
echo "Pull Image"
echo "----------------"
docker login --username=${user} --password=${pass} ${registryUrl}
docker pull "${imageName}:${tag}"
echo ""
}
#运行镜像
deploy_image() {
echo "----------------"
echo "Deploy Image"
echo "----------------"
export VERSION=${tag}
docker compose up -d ${serverName}
echo ""
}
#停掉容器、删除容器、删除镜像
delete_image() {
echo "----------------"
echo "Delete Image"
echo "----------------"
list_image
list_process
if [ "$image_id" != "" ] ; then
if [ "$process_id" != "" ] ; then
#停掉容器
docker stop $process_id
#删除容器
docker rm $process_id
#删除镜像
docker rmi --force $image_id
else
#删除镜像
docker rmi --force $image_id
fi
fi
echo ""
}
# main program
case $1 in
"deploy")
pull_image
delete_image
deploy_image
;;
"delete")
delete_image
;;
*)
desc
;;
esac