30 lines
1006 B
Docker
Executable File
30 lines
1006 B
Docker
Executable File
# 运行环境
|
|
FROM python:3.12-slim
|
|
|
|
# 设置时区
|
|
ENV TZ=Asia/Shanghai
|
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
|
|
|
# 设置工作目录和Python环境变量
|
|
WORKDIR /app
|
|
ENV PYTHONUNBUFFERED=1 \
|
|
PYTHONDONTWRITEBYTECODE=1
|
|
|
|
# 安装系统依赖
|
|
RUN sed -i 's|http://deb.debian.org/debian|http://mirrors.aliyun.com/debian|g' /etc/apt/sources.list.d/debian.sources \
|
|
&& sed -i 's|http://security.debian.org/debian-security|http://mirrors.aliyun.com/debian-security|g' /etc/apt/sources.list.d/debian.sources \
|
|
&& apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
gcc \
|
|
python3-dev \
|
|
tzdata \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# 优化:先复制依赖文件,避免每次代码变更都重新安装依赖
|
|
COPY requirements.txt /app/
|
|
RUN pip install --no-cache-dir -r requirements.txt -i https://mirrors.cloud.tencent.com/pypi/simple
|
|
# 复制项目文件
|
|
COPY . /app
|
|
|
|
# 设置启动命令
|
|
CMD ["python", "main.py"] |