FROM python:3.11 WORKDIR /code # 安装 Chrome 和必要依赖 RUN apt-get update && apt-get install -y \ wget \ gnupg \ ca-certificates \ && wget -q -O /usr/share/keyrings/google-linux-signing-key.gpg https://dl-ssl.google.com/linux/linux_signing_key.pub \ && echo "deb [arch=amd64 signed-by=/usr/share/keyrings/google-linux-signing-key.gpg] http://dl.google.com/linux/chrome/deb/ stable main" \ > /etc/apt/sources.list.d/google-chrome.list \ && apt-get update && apt-get install -y \ google-chrome-stable \ fonts-ipafont-gothic \ fonts-wqy-zenhei \ fonts-thai-tlwg \ fonts-khmeros \ fonts-freefont-ttf \ libxss1 \ --no-install-recommends \ && rm -rf /var/lib/apt/lists/* # 验证 Chrome 安装 RUN google-chrome --version # 创建非 root 用户 RUN useradd -m -u 1000 user USER user ENV PATH="/home/user/.local/bin:$PATH" # 安装 Python 依赖(先 requirements 再源码,利用缓存) COPY --chown=user ./requirements.txt /code/requirements.txt RUN python3 -m pip install --no-cache-dir --upgrade pip \ && python3 -m pip install --no-cache-dir --upgrade -r /code/requirements.txt WORKDIR /app COPY --chown=user ./requirements.txt requirements.txt RUN pip install --no-cache-dir --upgrade -r requirements.txt # 拷贝项目文件 COPY --chown=user . /app EXPOSE 8000 CMD ["python", "app.py"]