python Dockerfile构建(含中文字体支持)

奥黛丽·逐爱者
2025-06-24 / 0 评论 / 2 阅读 / 正在检测是否收录...

基于 python:3.10.11-slim 构建带依赖的 Docker 镜像

FROM python:3.10.11-slim

WORKDIR /app

# 安装系统依赖(使用小写包名,并确保正确换行)
RUN apt-get update && apt-get install -y --no-install-recommends \
    wkhtmltopdf \
    fonts-liberation \
    fonts-wqy-zenhei \
    xfonts-75dpi \
    xfonts-base \
    libaio1 \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

# 复制wheel文件
COPY wheels/*.whl /tmp/wheels/

# 设置pip不警告root用户
ENV PIP_ROOT_USER_ACTION=ignore

# 安装Python依赖
RUN pip install --no-cache-dir --upgrade pip && \
    pip install --no-cache-dir \
    /tmp/wheels/werkzeug-3.1.3-py3-none-any.whl \
    /tmp/wheels/urllib3-2.4.0-py3-none-any.whl \
    /tmp/wheels/requests-2.32.3-py3-none-any.whl \
    /tmp/wheels/pdfkit-1.0.0-py3-none-any.whl \
    /tmp/wheels/jinja2-3.1.6-py3-none-any.whl \
    /tmp/wheels/itsdangerous-2.2.0-py3-none-any.whl \
    /tmp/wheels/idna-3.10-py3-none-any.whl \
    /tmp/wheels/flask-3.1.1-py3-none-any.whl \
    /tmp/wheels/colorama-0.4.6-py2.py3-none-any.whl \
    /tmp/wheels/click-8.2.0-py3-none-any.whl \
    /tmp/wheels/certifi-2025.4.26-py3-none-any.whl \
    /tmp/wheels/blinker-1.9.0-py3-none-any.whl \
    psutil==7.0.0 \
    MarkupSafe==3.0.2 \
    charset-normalizer==3.4.2 \
    cx_Oracle==8.3.0

# 验证字体安装
RUN fc-list :lang=zh

# 验证wkhtmltopdf
RUN wkhtmltopdf --version

ENV PYTHONUNBUFFERED=1

CMD ["python"]
0

评论 (0)

取消