anzuo / Dockerfile
mk99z's picture
Update Dockerfile
29e08eb verified
# 使用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"]