Files
nonye/Dockerfile

45 lines
1.6 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

FROM python:3.11
# 兼容新老 debian/ubuntu 换源
RUN (sed -i 's@http://deb.debian.org@http://mirrors.aliyun.com@g' /etc/apt/sources.list 2>/dev/null || true) && \
(sed -i 's@http://security.debian.org@http://mirrors.aliyun.com@g' /etc/apt/sources.list 2>/dev/null || true) && \
find /etc/apt/sources.list.d/ -name "*.list" -exec sed -i 's@http://deb.debian.org@http://mirrors.aliyun.com@g' {} \; && \
find /etc/apt/sources.list.d/ -name "*.list" -exec sed -i 's@http://security.debian.org@http://mirrors.aliyun.com@g' {} \;
# 安装 Node.js 和 supervisord
RUN apt-get update && \
apt-get install -y curl supervisor && \
curl -fsSL https://deb.nodesource.com/setup_21.x | bash - && \
apt-get install -y nodejs && \
apt-get clean
# 设置 pip 国内镜像(清华)
RUN mkdir -p /root/.pip && \
echo "[global]\nindex-url = https://pypi.tuna.tsinghua.edu.cn/simple\ntrusted-host = pypi.tuna.tsinghua.edu.cn" > /root/.pip/pip.conf
# 设置工作目录
WORKDIR /app
# 复制前端代码并安装依赖、构建
COPY platform/ ./platform/
WORKDIR /app/platform
# 构建前先删除 dist确保不会用到本地遗留产物
RUN rm -rf dist && npm install && npm run build
RUN ls -l /app/platform
# 安装 http-server
RUN npm install -g http-server
# 复制后端代码并安装依赖
WORKDIR /app/back
COPY back/requirements.txt .
RUN pip install -r requirements.txt
COPY back/ .
RUN ls -l /app/back
# supervisor 配置
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
WORKDIR /app
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]