调整生成脚本

develop
old易 2024-06-17 13:25:56 +08:00
parent eb24091989
commit 14144129d8
1 changed files with 37 additions and 22 deletions

View File

@ -1,24 +1,39 @@
#! /bin/bash #!/bin/bash
# 设置Docker镜像的仓库名和标签前缀
REPO_NAME="newgaokao"
TAG_PREFIX="build_"
echo "pcnewcollage-api..." # 获取当前时间戳作为标签后缀
sleep 3 TIMESTAMP=$(date +%Y%m%d%H%M%S)
docker stop pcnewcollage-api TAG="${REPO_NAME}:${TAG_PREFIX}${TIMESTAMP}"
sleep 2 CONTAINER_NAME="${REPO_NAME}_container_${TIMESTAMP}"
docker rm pcnewcollage-api
docker rmi pcnewcollage-api # 尝试构建新的Docker镜像
echo "" docker build -t "${TAG}" . && {
echo "pcnewcollage-api packing..." # 如果构建成功,则停止并删除具有相同前缀的旧容器
sleep 3 echo "Stopping and removing old containers..."
docker ps -aqf "name=${REPO_NAME}_container_*" | xargs docker stop
docker ps -aqf "name=${REPO_NAME}_container_*" | xargs docker rm
docker build -t pcnewcollage-api . # 删除具有相同前缀的旧镜像(排除最新的)
echo "" echo "Removing old images..."
docker images --format "{{.Repository}}:{{.Tag}}" | grep "${REPO_NAME}:${TAG_PREFIX}" | grep -v "${TAG}" | xargs docker rmi
echo "pcnewcollage-api running..." # 显示构建完成的镜像信息
sleep 3 echo "New image built successfully: ${TAG}"
docker images | grep "${TAG}"
docker run \ # 启动新的容器(这里只是示例参数,你可能需要根据你的应用进行调整)
echo "Starting new container ${CONTAINER_NAME}..."
docker run \
-p 8082:8082 \ -p 8082:8082 \
--restart unless-stopped \ --restart unless-stopped \
--name pcnewcollage-api \ --name "${CONTAINER_NAME}" \
-d pcnewcollage-api -d "${TAG}"
# 显示正在运行的容器信息
echo "Container started successfully: ${CONTAINER_NAME}"
docker ps | grep "${CONTAINER_NAME}"
} || {
# 如果构建失败,则打印错误信息
echo "Failed to build the Docker image."
}