#!/bin/bash set -e # 定义变量 IMAGE_NAME="excel2pic" CONTAINER_NAME="excel2pic_container" PORT=8000 echo "开始部署 $IMAGE_NAME ..." # 1. 构建 Docker 镜像 echo "构建 Docker 镜像..." docker build -t $IMAGE_NAME:latest . # 2. 检查并停止旧容器 if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then echo "停止并移除旧容器..." docker stop $CONTAINER_NAME || true docker rm $CONTAINER_NAME || true fi # 3. 启动新容器 echo "启动新容器..." docker run -d \ --name $CONTAINER_NAME \ -p $PORT:8000 \ $IMAGE_NAME:latest # 4. 验证部署 echo "等待服务启动..." sleep 2 if docker ps | grep -q $CONTAINER_NAME; then echo "部署成功!" echo "API 文档地址: http://localhost:$PORT/docs" echo "测试转换接口: POST http://localhost:$PORT/api/v1/convert" else echo "部署失败,容器未运行。" docker logs $CONTAINER_NAME exit 1 fi