# 使用官方Ubuntu基础镜像 FROM ubuntu:22.04 # 设置环境变量 ENV TZ=Asia/Shanghai \ JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 \ APP_USER=reader \ APP_HOME=/app # 安装依赖并配置环境 RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \ && echo $TZ > /etc/timezone \ && apt-get update \ && apt-get install -y --no-install-recommends \ openjdk-17-jdk \ ca-certificates \ curl \ unzip \ bash \ jq \ python3 \ python3-pip \ python3-venv \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* \ && update-ca-certificates \ && useradd -r -u 1000 -m -d $APP_HOME -s /bin/bash $APP_USER \ && chown -R $APP_USER:$APP_USER $APP_HOME ENV VIRTUAL_ENV=/app/venv RUN python3 -m venv $VIRTUAL_ENV ENV PATH="$VIRTUAL_ENV/bin:$PATH" RUN pip install --no-cache-dir huggingface_hub # 配置Java环境路径 ENV PATH=$JAVA_HOME/bin:$PATH ENV LANG C.UTF-8 ENV LC_ALL C.UTF-8 # 设置工作目录和用户 WORKDIR $APP_HOME USER $APP_USER # 复制安装脚本并设置权限 COPY --chown=reader:reader install_reader.sh ./ COPY --chown=reader:reader sync_data.sh ./ RUN chmod +x install_reader.sh \ && sed -i 's|./bin/startup.sh -m single|exec &|' install_reader.sh RUN chmod +x sync_data.sh EXPOSE 8080 # 容器入口 CMD ["/bin/sh", "-c", "./sync_data.sh"]