44 lines
1.0 KiB
Bash
44 lines
1.0 KiB
Bash
ls#!/bin/bash
|
|
|
|
# 定义变量
|
|
APP_NAME="hot-platform"
|
|
IMAGE_NAME="hot-platform"
|
|
PORT_HOST=50004
|
|
PORT_CONTAINER=19090
|
|
LOG_DIR="/opt/hot-platform/logs"
|
|
|
|
# 停止并删除旧容器
|
|
if [ "$(docker ps -q -f name=$APP_NAME)" ]; then
|
|
echo "Stopping existing container..."
|
|
docker stop $APP_NAME
|
|
fi
|
|
|
|
if [ "$(docker ps -aq -f name=$APP_NAME)" ]; then
|
|
echo "Removing existing container..."
|
|
docker rm $APP_NAME
|
|
fi
|
|
|
|
# 删除旧镜像(可选,如果每次都构建新镜像的话建议开启)
|
|
# if [ "$(docker images -q $IMAGE_NAME)" ]; then
|
|
# echo "Removing old image..."
|
|
# docker rmi $IMAGE_NAME
|
|
# fi
|
|
|
|
# 构建新镜像
|
|
echo "Building new image..."
|
|
docker build -t $IMAGE_NAME .
|
|
|
|
# 启动新容器
|
|
echo "Starting new container..."
|
|
docker run -d \
|
|
--name $APP_NAME \
|
|
--restart always \
|
|
--add-host=host.docker.internal:host-gateway \
|
|
-p $PORT_HOST:$PORT_CONTAINER \
|
|
-v $LOG_DIR:/hot-platform/server/logs \
|
|
-e JAVA_OPTS="-Dspring.profiles.active=test" \
|
|
$IMAGE_NAME
|
|
|
|
echo "Container started successfully!"
|
|
docker logs -f --tail 100 $APP_NAME
|