35 lines
629 B
Docker
35 lines
629 B
Docker
# Dockerfile
|
|
FROM python:3.9-slim
|
|
|
|
# 安装nginx
|
|
RUN apt-get update && apt-get install -y \
|
|
nginx \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# 创建应用目录
|
|
WORKDIR /app
|
|
|
|
# 复制后端文件
|
|
COPY backend/ ./backend/
|
|
COPY frontend/ /var/www/html/
|
|
|
|
# 安装Python依赖
|
|
RUN pip install --no-cache-dir -r backend/requirements.txt
|
|
|
|
# 创建数据和日志目录
|
|
RUN mkdir -p data logs
|
|
|
|
# 配置nginx
|
|
COPY nginx/nginx.conf /etc/nginx/sites-available/default
|
|
|
|
# 暴露端口
|
|
EXPOSE 80
|
|
|
|
# 启动脚本
|
|
COPY sbin/start.sh /start.sh
|
|
RUN chmod +x /start.sh
|
|
|
|
# 初始化数据库
|
|
RUN python backend/init_db.py
|
|
|
|
ENTRYPOINT ["/start.sh"] |