headPicker/deploy.sh

90 lines
2.4 KiB
Bash
Executable File

#!/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