ikun / Dockerfile
maoruiq's picture
Update Dockerfile
6182106 verified
Raw
History Blame Contribute Delete
1.27 kB
# 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"]