# 使用PyTorch为基础镜像以支持Hugging Face FROM pytorch/pytorch:1.12.0-cuda11.3-cudnn8-runtime # 避免交互式提示 ENV DEBIAN_FRONTEND=noninteractive # 设置环境变量 ENV ANDROID_HOME=/opt/android-sdk ENV ANDROID_SDK_ROOT=$ANDROID_HOME ENV PATH=$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/cmdline-tools/latest/bin ENV PYTHONUNBUFFERED=1 # 安装系统依赖 RUN apt-get update && apt-get install -y \ wget \ unzip \ git \ curl \ openjdk-11-jdk \ python3-pip \ build-essential \ && rm -rf /var/lib/apt/lists/* # 安装Hugging Face transformers和相关依赖 RUN pip3 install --no-cache-dir \ transformers \ datasets \ scikit-learn \ pandas \ numpy \ torch \ accelerate \ sentencepiece \ tensorboard # 创建Android SDK目录 RUN mkdir -p ${ANDROID_HOME}/cmdline-tools # 下载Android命令行工具 RUN wget -q https://dl.google.com/android/repository/commandlinetools-linux-8512546_latest.zip -O cmdline-tools.zip \ && unzip cmdline-tools.zip -d ${ANDROID_HOME}/cmdline-tools \ && mv ${ANDROID_HOME}/cmdline-tools/cmdline-tools ${ANDROID_HOME}/cmdline-tools/latest \ && rm cmdline-tools.zip # 接受许可 RUN yes | sdkmanager --licenses # 安装Android SDK组件 RUN sdkmanager \ "platform-tools" \ "platforms;android-30" \ "build-tools;30.0.3" \ "extras;android;m2repository" \ "extras;google;m2repository" # 设置工作目录 WORKDIR /workspace # 安装额外的Python包用于模型转换和优化 RUN pip3 install --no-cache-dir \ onnx \ onnxruntime \ tensorflow \ tensorflow-hub \ android-auto-bundle # 配置Git RUN git config --global credential.helper store # 创建必要的目录 RUN mkdir -p /workspace/models /workspace/android-project # 复制启动脚本 COPY start.sh /workspace/ RUN chmod +x /workspace/start.sh # 设置启动命令 ENTRYPOINT ["/workspace/start.sh"] CMD ["/bin/bash"]