taibai_shopping/docker/Dockerfile
superlishunqin 170db69eb4 version_1
2025-07-14 05:06:05 +08:00

50 lines
1.4 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.

# 使用Python 3.9作为基础镜像以匹配开发环境
FROM python:3.9-slim
# 设置工作目录
WORKDIR /app
# 设置环境变量
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
FLASK_APP=run.py \
FLASK_ENV=production
# 创建并配置国内镜像源
RUN echo "deb https://mirrors.ustc.edu.cn/debian/ bookworm main" > /etc/apt/sources.list && \
echo "deb https://mirrors.ustc.edu.cn/debian/ bookworm-updates main" >> /etc/apt/sources.list && \
echo "deb https://mirrors.ustc.edu.cn/debian-security/ bookworm-security main" >> /etc/apt/sources.list
# 安装系统依赖包括libmagic
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
default-libmysqlclient-dev \
libmagic1 \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# 使用阿里云pip镜像源更稳定
RUN pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ && \
pip config set install.trusted-host mirrors.aliyun.com
# 安装Python依赖
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# 复制项目文件
COPY . .
# 运行配置更新脚本
RUN python update_config.py
# 创建非root用户运行应用
RUN useradd -m appuser
RUN chown -R appuser:appuser /app
USER appuser
# 暴露自定义端口50400
EXPOSE 50400
# 启动命令
CMD ["gunicorn", "--bind", "0.0.0.0:50400", "run:app"]