File size: 1,960 Bytes
b5dabfb
 
01954ff
 
 
 
 
 
 
 
29e08eb
01954ff
b5dabfb
1c2366f
01954ff
 
 
 
b5dabfb
 
29e08eb
01954ff
 
b5dabfb
 
 
 
 
 
 
 
 
29e08eb
 
b5dabfb
01954ff
 
 
 
 
 
 
 
 
 
 
 
1c2366f
01954ff
 
 
 
 
 
 
1c2366f
b5dabfb
01954ff
b5dabfb
 
 
 
29e08eb
 
b5dabfb
01954ff
29e08eb
b5dabfb
01954ff
29e08eb
 
 
 
b5dabfb
 
01954ff
29e08eb
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# 使用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"]