| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- #!/bin/bash
- echo "=========================================="
- echo "SM2签名服务 - 一键部署脚本"
- echo "=========================================="
- echo ""
- # 检查Docker
- if ! command -v docker &> /dev/null; then
- echo "❌ 错误: 未安装Docker"
- echo ""
- echo "请先安装Docker:"
- echo "curl -fsSL https://get.docker.com | sh"
- exit 1
- fi
- echo "✅ Docker已安装: $(docker --version)"
- echo ""
- # 停止旧容器
- if docker ps -a | grep -q sm2-sign-server; then
- echo "停止旧容器..."
- docker stop sm2-sign-server 2>/dev/null
- docker rm sm2-sign-server 2>/dev/null
- fi
- # 构建镜像
- echo "构建Docker镜像..."
- docker build -t sign-server:latest .
- if [ $? -ne 0 ]; then
- echo "❌ 镜像构建失败"
- exit 1
- fi
- echo "✅ 镜像构建成功"
- echo ""
- # 启动容器
- echo "启动容器..."
- docker run -d \
- --name sm2-sign-server \
- -p 8888:8888 \
- --restart unless-stopped \
- --log-opt max-size=10m \
- --log-opt max-file=3 \
- sign-server:latest
- if [ $? -ne 0 ]; then
- echo "❌ 容器启动失败"
- exit 1
- fi
- echo "✅ 容器启动成功"
- echo ""
- # 等待服务启动
- echo "等待服务启动..."
- sleep 3
- # 健康检查
- echo "检查服务状态..."
- HEALTH_CHECK=$(curl -s http://localhost:8888/api/health)
- if [ $? -eq 0 ]; then
- echo "✅ 服务运行正常"
- echo "响应: $HEALTH_CHECK"
- else
- echo "⚠️ 健康检查失败,查看日志:"
- docker logs --tail 20 sm2-sign-server
- fi
- echo ""
- echo "=========================================="
- echo "部署完成!"
- echo "=========================================="
- echo "访问地址: http://localhost:8888"
- echo ""
- echo "常用命令:"
- echo " 查看日志: docker logs -f sm2-sign-server"
- echo " 停止服务: docker stop sm2-sign-server"
- echo " 启动服务: docker start sm2-sign-server"
- echo " 重启服务: docker restart sm2-sign-server"
- echo "=========================================="
|