parent
cbaefd4230
commit
8796eaa637
@ -1,26 +1,41 @@
|
||||
# 后端Dockerfile
|
||||
FROM python:3.11-slim
|
||||
FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/python:3.11-slim
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# 安装系统依赖
|
||||
RUN apt-get update && apt-get install -y \
|
||||
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources && \
|
||||
sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources && \
|
||||
apt-get update && apt-get install -y \
|
||||
gcc \
|
||||
postgresql-client \
|
||||
libpq-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# 复制依赖文件
|
||||
COPY requirements.txt .
|
||||
|
||||
# 安装Python依赖
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
RUN pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
|
||||
|
||||
COPY xyzs/ ./xyzs/
|
||||
|
||||
RUN ls -la xyzs/AmazingData/ || echo 'Warning: AmazingData wheel files directory not found' && \
|
||||
ls -la xyzs/*.whl || echo 'Warning: tgw wheel file not found'
|
||||
|
||||
RUN if [ -f xyzs/AmazingData/AmazingData-1.0.30-cp311-none-any.whl ]; then \
|
||||
pip install --no-cache-dir xyzs/AmazingData/AmazingData-1.0.30-cp311-none-any.whl -i https://pypi.tuna.tsinghua.edu.cn/simple; \
|
||||
else \
|
||||
echo 'Error: AmazingData wheel file not found, build will fail'; \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
RUN if [ -f xyzs/tgw-1.0.8.5-py3-none-any.whl ]; then \
|
||||
pip install --no-cache-dir xyzs/tgw-1.0.8.5-py3-none-any.whl -i https://pypi.tuna.tsinghua.edu.cn/simple; \
|
||||
else \
|
||||
echo 'Error: tgw wheel file not found, build will fail'; \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
# 复制应用代码
|
||||
COPY app/ ./app/
|
||||
COPY .env.example ./.env.example
|
||||
|
||||
# 暴露端口
|
||||
EXPOSE 8000
|
||||
|
||||
# 启动命令
|
||||
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
|
||||
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
|
||||
@ -0,0 +1,84 @@
|
||||
@echo off
|
||||
echo ==========================================
|
||||
echo AmazingData 金融数据服务平台 - Docker 部署
|
||||
echo ==========================================
|
||||
|
||||
cd /d "%~dp0docker"
|
||||
|
||||
echo.
|
||||
echo [1] 检查 Docker 环境...
|
||||
docker --version >nul 2>&1
|
||||
if errorlevel 1 (
|
||||
echo 错误: Docker 未安装,请先安装 Docker Desktop
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
docker compose version >nul 2>&1
|
||||
if errorlevel 1 (
|
||||
docker-compose --version >nul 2>&1
|
||||
if errorlevel 1 (
|
||||
echo 错误: docker-compose 未安装
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
set COMPOSE_CMD=docker-compose
|
||||
) else (
|
||||
set COMPOSE_CMD=docker compose
|
||||
)
|
||||
|
||||
echo Docker 版本:
|
||||
docker --version
|
||||
echo %COMPOSE_CMD% 版本:
|
||||
%COMPOSE_CMD% version
|
||||
|
||||
echo.
|
||||
echo [2] 停止并清理旧容器...
|
||||
%COMPOSE_CMD% down -v 2>nul
|
||||
|
||||
echo.
|
||||
echo [3] 构建镜像...
|
||||
%COMPOSE_CMD% build --no-cache
|
||||
|
||||
echo.
|
||||
echo [4] 启动服务...
|
||||
%COMPOSE_CMD% up -d
|
||||
|
||||
echo.
|
||||
echo [5] 等待服务启动...
|
||||
timeout /t 15 /nobreak >nul
|
||||
|
||||
echo.
|
||||
echo [6] 检查服务状态...
|
||||
%COMPOSE_CMD% ps
|
||||
|
||||
echo.
|
||||
echo [7] 检查服务健康状态...
|
||||
%COMPOSE_CMD% exec backend curl -s http://localhost:8000/health || echo 后端服务启动中...
|
||||
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo 部署完成!
|
||||
echo ==========================================
|
||||
echo.
|
||||
echo 访问地址:
|
||||
echo 前端: http://localhost:3010
|
||||
echo 后端API: http://localhost:8000
|
||||
echo API文档: http://localhost:8000/docs
|
||||
echo.
|
||||
echo 服务组件:
|
||||
echo PostgreSQL: localhost:5432
|
||||
echo Redis: localhost:6379
|
||||
echo.
|
||||
echo 默认登录账号:
|
||||
echo 用户名: admin
|
||||
echo 密码: admin123
|
||||
echo.
|
||||
echo 常用命令:
|
||||
echo 查看日志: %COMPOSE_CMD% logs -f
|
||||
echo 查看后端日志: %COMPOSE_CMD% logs -f backend
|
||||
echo 停止服务: %COMPOSE_CMD% down
|
||||
echo 重启服务: %COMPOSE_CMD% restart
|
||||
echo 进入后端容器: %COMPOSE_CMD% exec backend bash
|
||||
echo.
|
||||
pause
|
||||
@ -0,0 +1,62 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "=========================================="
|
||||
echo "AmazingData 金融数据服务平台 - Docker 部署"
|
||||
echo "=========================================="
|
||||
|
||||
cd "$(dirname "$0")/docker"
|
||||
|
||||
echo ""
|
||||
echo "[1] 检查 Docker 环境..."
|
||||
if ! command -v docker &> /dev/null; then
|
||||
echo "错误: Docker 未安装,请先安装 Docker"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v docker-compose &> /dev/null; then
|
||||
echo "错误: docker-compose 未安装,请先安装 docker-compose"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Docker 版本: $(docker --version)"
|
||||
echo "docker-compose 版本: $(docker-compose --version)"
|
||||
|
||||
echo ""
|
||||
echo "[2] 停止并清理旧容器..."
|
||||
docker-compose down -v 2>/dev/null || true
|
||||
|
||||
echo ""
|
||||
echo "[3] 构建镜像..."
|
||||
docker-compose build
|
||||
|
||||
echo ""
|
||||
echo "[4] 启动服务..."
|
||||
docker-compose up -d
|
||||
|
||||
echo ""
|
||||
echo "[5] 等待服务启动..."
|
||||
sleep 10
|
||||
|
||||
echo ""
|
||||
echo "[6] 检查服务状态..."
|
||||
docker-compose ps
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "部署完成!"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "访问地址:"
|
||||
echo " 前端: http://localhost:3010"
|
||||
echo " 后端API: http://localhost:8000"
|
||||
echo " API文档: http://localhost:8000/docs"
|
||||
echo ""
|
||||
echo "默认登录账号:"
|
||||
echo " 用户名: admin"
|
||||
echo " 密码: admin123"
|
||||
echo ""
|
||||
echo "常用命令:"
|
||||
echo " 查看日志: docker-compose logs -f"
|
||||
echo " 停止服务: docker-compose down"
|
||||
echo " 重启服务: docker-compose restart"
|
||||
echo ""
|
||||
@ -1,27 +1,21 @@
|
||||
# 前端Dockerfile
|
||||
FROM node:18-alpine AS builder
|
||||
FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/node:18-alpine AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# 复制package.json
|
||||
COPY package.json ./
|
||||
RUN npm install
|
||||
COPY package.json package-lock.json* ./
|
||||
|
||||
RUN npm ci || npm install
|
||||
|
||||
# 复制源代码
|
||||
COPY . .
|
||||
|
||||
# 构建
|
||||
RUN npm run build
|
||||
|
||||
# 生产环境
|
||||
FROM nginx:alpine
|
||||
FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/nginx:alpine
|
||||
|
||||
# 复制构建产物
|
||||
COPY --from=builder /app/dist /usr/share/nginx/html
|
||||
|
||||
# 复制nginx配置
|
||||
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
||||
Loading…
Reference in new issue