Files
etf/Dockerfile_base
aszerW 091ee05e58 chore(docker): 优化Dockerfile_base镜像构建配置
- 更换阿里云镜像源提升apt-get安装速度
- 新增openssh-client和autossh系统依赖
- 所有apt-get操作后统一清理缓存
- Playwright依赖安装使用阿里云源镜像
- 安装中文字体时允许失败不影响构建
- 保持时区配置为Asia/Shanghai
- 安装Playwright chromium浏览器版本一致
2026-03-26 21:21:59 +08:00

86 lines
2.2 KiB
Plaintext
Raw Permalink 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.12-slim
# 设置工作目录
WORKDIR /app
# 更换阿里云镜像源并安装系统依赖
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources && \
apt-get update && apt-get install -y \
wget \
gnupg \
openssh-client \
autossh \
&& rm -rf /var/lib/apt/lists/*
# 安装Playwright的依赖使用阿里云源
RUN apt-get update && apt-get install -y \
libnss3 \
libnspr4 \
libatk1.0-0 \
libatk-bridge2.0-0 \
libcups2 \
libdrm2 \
libdbus-1-3 \
libxkbcommon0 \
libxcomposite1 \
libxdamage1 \
libxfixes3 \
libxrandr2 \
libgbm1 \
libasound2 \
libpango-1.0-0 \
libpangocairo-1.0-0 \
&& rm -rf /var/lib/apt/lists/*
# 配置pip源
RUN mkdir -p /root/.pip && \
echo "[global]" > /root/.pip/pip.conf && \
echo "index-url = https://pypi.tuna.tsinghua.edu.cn/simple" >> /root/.pip/pip.conf && \
echo "trusted-host = pypi.tuna.tsinghua.edu.cn" >> /root/.pip/pip.conf
# 更新pip
RUN python -m pip install --upgrade pip
RUN apt-get update && \
apt-get install -y --no-install-recommends tzdata && \
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
dpkg-reconfigure -f noninteractive tzdata && \
rm -rf /var/lib/apt/lists/*
RUN pip install uv \
&& rm -rf /root/.cache/pip
ENV UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
# 复制依赖文件
COPY requirements.txt .
# 配置清华源并安装 Python 依赖
# RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple && \
# pip install --only-binary=all --no-cache-dir -r requirements.txt
RUN uv pip install --system -r requirements.txt
# 预先安装 Playwright 的系统依赖
RUN apt-get update && apt-get install -y \
xvfb \
libopengl0 \
&& rm -rf /var/lib/apt/lists/*
# 安装中文字体(使用阿里云源,允许失败)
RUN apt-get update && apt-get install -y \
fonts-noto-cjk \
fonts-wqy-zenhei \
fonts-wqy-microhei \
&& rm -rf /var/lib/apt/lists/* || echo "字体安装失败,继续构建"
# 安装Playwright浏览器
RUN playwright install chromium
RUN playwright install-deps
# 暴露端口
EXPOSE 80
# 运行应用
# CMD ["python", "update_data.py"]