35 lines
1.1 KiB
Bash
Executable File
35 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# ── 配置项 ──────────────────────────────────────────
|
|
IMAGE_NAME="ai-platform:1.0.0"
|
|
CONTAINER_NAME="ai-platform"
|
|
PORT=8901
|
|
BACKEND_URL="${BACKEND_URL:-http://host.docker.internal:8000}"
|
|
# ───────────────────────────────────────────────────
|
|
|
|
echo ">>> 构建镜像 ${IMAGE_NAME} ..."
|
|
sudo docker build -t "$IMAGE_NAME" .
|
|
|
|
echo ">>> 停止并移除旧容器 ..."
|
|
sudo docker stop "$CONTAINER_NAME" 2>/dev/null || true
|
|
sudo docker rm "$CONTAINER_NAME" 2>/dev/null || true
|
|
|
|
echo ">>> 启动新容器 ..."
|
|
sudo docker run -d \
|
|
--name "$CONTAINER_NAME" \
|
|
-p "$PORT:8901" \
|
|
--add-host=host.docker.internal:host-gateway \
|
|
-e BACKEND_URL="$BACKEND_URL" \
|
|
"$IMAGE_NAME"
|
|
|
|
echo ">>> 等待 nginx 启动 ..."
|
|
sleep 2
|
|
|
|
echo ">>> 验证 ..."
|
|
sudo docker exec "$CONTAINER_NAME" curl -s -o /dev/null -w "HTTP %{http_code}\n" http://localhost:8901/
|
|
|
|
echo ""
|
|
echo ">>> 部署完成: http://localhost:$PORT"
|
|
echo ">>> 后端代理: $BACKEND_URL"
|