# 基于 Python 官方镜像 FROM python:3.11.6 # 设置工作目录 WORKDIR /app # 拷贝 Pipfile 和 Pipfile.lock COPY Pipfile Pipfile.lock /app/ # 安装 Pipenv,使用临时的清华大学镜像源 RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pipenv # 安装依赖,同样使用临时的镜像源 RUN pipenv install --deploy --ignore-pipfile -i https://pypi.tuna.tsinghua.edu.cn/simple # 使用清华大学镜像源临时安装 wget RUN apt-get update -o Dir::Etc::sourcelist="sources.list.d/temp.list" \ -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0" \ && echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free" > /etc/apt/sources.list.d/temp.list \ && echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free" >> /etc/apt/sources.list.d/temp.list \ && echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free" >> /etc/apt/sources.list.d/temp.list \ && echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free" >> /etc/apt/sources.list.d/temp.list \ && apt-get update && apt-get install -y wget \ && rm -f /etc/apt/sources.list.d/temp.list && apt-get update # 拷贝应用代码 COPY . /app # 设置环境变量 ENV FLASK_APP=app.py ENV FLASK_RUN_HOST=0.0.0.0 ENV FLASK_ENV=production # 暴露端口 EXPOSE 5000 # 设置启动命令 CMD ["pipenv", "run", "flask", "run"]