demo/deploy.sh

37 lines
1.0 KiB
Bash

#!/bin/bash
# deploy.sh
set -e
REGISTRY="registry.cn-zhangjiakou.aliyuncs.com"
IMAGE_NAME="${REGISTRY}/abhors/demo:latest"
CONTAINER_NAME="demo-app"
echo "=========================================="
echo " 🚀 开始远程部署: $(date '+%Y-%m-%d %H:%M:%S')"
echo "=========================================="
# 1. 拉取最新镜像 (前提:你已经在服务器上手动执行过一次 docker login 保持登录状态)
echo "👉 正在拉取最新镜像..."
docker pull $IMAGE_NAME
# 2. 清理旧容器
echo "👉 正在清理旧容器..."
docker stop $CONTAINER_NAME 2>/dev/null || true
docker rm $CONTAINER_NAME 2>/dev/null || true
# 3. 启动新容器(带内存限制)
echo "👉 正在启动新容器..."
docker run -d \
--name $CONTAINER_NAME \
-p 8080:8080 \
--memory="1.2g" \
--restart always \
$IMAGE_NAME
# 4. 清理残留的旧镜像
echo "👉 清理历史构建残留..."
docker image prune -f
echo "=========================================="
echo " 🎉 部署成功!"
echo "=========================================="