100 lines
2.1 KiB
Bash
100 lines
2.1 KiB
Bash
#!/bin/bash
|
|
set -a
|
|
if [ -f /etc/redhat-release ] || [ -f /etc/rocky-release ]; then
|
|
source ./.env
|
|
elif [ -f /etc/lsb-release ]; then
|
|
. ./.env
|
|
else
|
|
echo "Unsupported OS"
|
|
fi
|
|
set +a
|
|
|
|
schema="https://"
|
|
serverName=$2
|
|
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 "----------------"
|
|
imageName="${DOCKER_REGISTRY_URL}/${DOCKER_REGISTRYURL_NAMESPACE}/${serverName}"
|
|
|
|
echo "$DOCKER_PASSWORD" | docker login --username=${DOCKER_USERNAME} --password-stdin ${DOCKER_REGISTRY_URL}
|
|
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
|
|
|