Files
nonye/Dockerfile

45 lines
1.6 KiB
Docker
Raw Normal View History

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"]