# 1. 使用官方 Python 基础镜像 FROM python:3.9-slim # 2. 安装必要的工具 (wget用于下载,tar用于解压) # 保持 root 用户进行安装 RUN apt-get update && \ apt-get install -y --no-install-recommends \ wget \ tar \ ca-certificates \ && rm -rf /var/lib/apt/lists/* # 3. 安装 Java 21 JDK ENV JAVA_HOME /usr/lib/jvm/openjdk-21 ENV PATH $PATH:$JAVA_HOME/bin # 使用 Adoptium 官方 API 链接,它会自动获取最新的 Linux x64 JDK tar.gz # 链接解释: # feature_version=21: Java 21 # image_type=jdk: 下载 JDK # architecture=x64: 64位 # os=linux: Linux系统 RUN mkdir -p /usr/lib/jvm && \ wget -O /tmp/openjdk.tar.gz "https://api.adoptium.net/v3/binary/latest/21/ga/linux/x64/jdk/hotspot/normal/eclipse" && \ tar -xf /tmp/openjdk.tar.gz -C /usr/lib/jvm --strip-components=1 && \ rm /tmp/openjdk.tar.gz # 4. 设置工作目录 WORKDIR /app # 5. 复制依赖文件并安装 Python 依赖 COPY requirements.txt requirements.txt RUN pip install --no-cache-dir -r requirements.txt # 6. 复制当前目录下的所有文件到容器中 COPY . . # 已移除用户创建和切换步骤,容器将以 root 身份运行。 # 7. 暴露 7860 端口 EXPOSE 7860 # 8. 启动命令 CMD ["python", "app.py"]