#!/bin/bash # ============================================================ # 应用商店 API 服务一键部署脚本 # 在服务器 192.168.153.153 上执行 # 功能:建表 → 构建镜像 → 启动容器 # 用法:bash deploy.sh # ============================================================ set -e echo "========== 1/4 创建数据库和表 ==========" # 注意:MySQL 容器已在运行,3306 端口映射到宿主机 mysql -h 127.0.0.1 -P 3306 -u root -p${MYSQL_ROOT_PASSWORD:-123456} < init.sql echo "数据库和表创建完成" echo "========== 2/4 构建 API 镜像 ==========" docker build -t appstore-api:latest . echo "========== 3/4 停止旧容器(如有) ==========" docker rm -f appstore-api 2>/dev/null || true echo "========== 4/4 启动 API 容器 ==========" docker run -d \ --name appstore-api \ --restart always \ -p 3001:3001 \ -e DB_HOST=127.0.0.1 \ -e DB_PORT=3306 \ -e DB_USER=root \ -e DB_PASSWORD=${MYSQL_ROOT_PASSWORD:-123456} \ -e DB_NAME=appstore \ -e API_PORT=3001 \ appstore-api:latest echo "" echo "========== 部署完成 ==========" echo "API 地址: http://$(hostname -I | awk '{print $1}'):3001/api/apps" echo "健康检查: http://$(hostname -I | awk '{print $1}'):3001/api/health"