#!/bin/bash set -e IMAGE_NAME="gd10086-fingerprint-service" CONTAINER_NAME="gd10086-fingerprint-service" PORT="10086" echo "=========================================" echo "广东移动指纹获取服务 - 部署脚本" echo "=========================================" cd "$(dirname "$0")" case "${1:-up}" in up) echo "" echo "[1/3] 构建 Docker 镜像..." docker build -t ${IMAGE_NAME} . echo "" echo "[2/3] 停止旧容器(如果存在)..." docker stop ${CONTAINER_NAME} 2>/dev/null || true docker rm ${CONTAINER_NAME} 2>/dev/null || true echo "" echo "[3/3] 启动服务..." docker run -d \ --name ${CONTAINER_NAME} \ -p ${PORT}:8000 \ --restart unless-stopped \ -v /dev/shm:/dev/shm \ --security-opt seccomp=unconfined \ -e TZ=Asia/Shanghai \ ${IMAGE_NAME} echo "" echo "等待服务启动..." sleep 5 echo "" echo "=========================================" echo "部署完成!" echo "" echo "服务地址: http://localhost:${PORT}" echo "API 文档: http://localhost:${PORT}/docs" echo "健康检查: http://localhost:${PORT}/health" echo "获取指纹: http://localhost:${PORT}/fingerprint" echo "" echo "查看日志: docker logs -f ${CONTAINER_NAME}" echo "停止服务: docker stop ${CONTAINER_NAME}" echo "删除容器: docker rm ${CONTAINER_NAME}" echo "=========================================" ;; down) echo "" echo "停止服务..." docker stop ${CONTAINER_NAME} 2>/dev/null || true docker rm ${CONTAINER_NAME} 2>/dev/null || true echo "服务已停止" ;; logs) echo "" echo "查看日志..." docker logs -f ${CONTAINER_NAME} ;; restart) echo "" echo "重启服务..." docker restart ${CONTAINER_NAME} echo "服务已重启" ;; *) echo "" echo "用法: $0 [命令]" echo "" echo "命令:" echo " up - 构建并启动服务(默认)" echo " down - 停止并删除容器" echo " logs - 查看日志" echo " restart - 重启服务" echo "" ;; esac