90 lines
2.4 KiB
Bash
Executable File
90 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
IMAGE_NAME="gd10086-fingerprint-service"
|
|
CONTAINER_NAME="gd10086-fingerprint-service"
|
|
PORT="8000"
|
|
|
|
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
|
|
|