FROM ubuntu:22.04 ENV DEBIAN_FRONTEND=noninteractive # ============================================================ # 基础工具 # SSH Server 安装和配置 # ============================================================ RUN apt-get update && apt-get install -y \ python3 \ python3-pip \ python3-venv \ git \ wget \ curl \ vim \ sshpass \ i2c-tools \ software-properties-common \ gnupg2 \ lsb-release \ openssh-server \ locales \ && mkdir -p /var/run/sshd \ && rm -rf /var/lib/apt/lists/* # 配置中文 locale(防止终端中文乱码) RUN locale-gen zh_CN.UTF-8 && update-locale LANG=zh_CN.UTF-8 ENV LANG=zh_CN.UTF-8 ENV LC_ALL=zh_CN.UTF-8 # SSH 安全配置 RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config \ && sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config \ && echo "MaxAuthTries 3" >> /etc/ssh/sshd_config \ && echo "MaxStartups 3:50:10" >> /etc/ssh/sshd_config \ && echo "LoginGraceTime 30" >> /etc/ssh/sshd_config \ && echo "ClientAliveInterval 60" >> /etc/ssh/sshd_config \ && echo "ClientAliveCountMax 3" >> /etc/ssh/sshd_config # 生成 SSH Host Key(容器首次启动时会自动生成,这里预生成加速启动) RUN ssh-keygen -A # 设置 root 密码 RUN echo 'root:root' | chpasswd # ============================================================ # BPU Model Perf 工具 # ============================================================ # 拷贝 hrt_model_exec(从宿主机板子上的路径) COPY hrt_model_exec /usr/local/bin/hrt_model_exec RUN chmod +x /usr/local/bin/hrt_model_exec # 拷贝 perf 脚本和 entrypoint COPY workspace/perf.py /workspace/perf/perf.py COPY workspace/entrypoint.sh /workspace/perf/entrypoint.sh RUN chmod +x /workspace/perf/entrypoint.sh # 工作目录和挂载点 RUN mkdir -p /workspace/input /workspace/output WORKDIR /workspace/perf ENTRYPOINT ["/workspace/perf/entrypoint.sh"]