本章节以在容器镜像Ubuntu 20.04上为例,制作包含CANN软件包NNRT、Kernels的CANN边缘推理容器镜像。
可以参考本节内容定制修改Dockerfile,自定义制作CANN容器镜像。
mkdir ascend-cann
cd ascend-cann
请参见准备软件包,在当前目录放置NNRT和Kernels(可选)软件包。
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 | ARG BASE=$BASE FROM $BASE WORKDIR /tmp COPY . ./ # 设置驱动路径环境变量 ARG ASCEND_BASE=/usr/local/Ascend ENV LD_LIBRARY_PATH=\ $ASCEND_BASE/driver/lib64:\ $ASCEND_BASE/driver/lib64/common:\ $ASCEND_BASE/driver/lib64/driver:\ $LD_LIBRARY_PATH SHELL ["/bin/bash","-c"] # 1 安装CANN ARG CANN_PKG=Ascend-cann-nnrt_*.run ARG KERNEL_PKG=Ascend-cann-kernels-*.run RUN chmod +x $CANN_PKG && \ ./$CANN_PKG --quiet --install --install-path=$ASCEND_BASE --install-for-all && \ chmod +x $KERNEL_PKG && \ ./$KERNEL_PKG --quiet --install --install-for-all # 2 环境清理 RUN rm -rf ./* |
修改后执行:wq!命令保存文件并退出。
docker build -t {image_name}:{new_tag} --build-arg BASE={image_name}:{tag} .
注意不要遗漏命令结尾的“.”,命令示例如下所示。
docker build -t ascend-cann:8.0.RC2-ubuntu --build-arg BASE=ubuntu:focal .
参数 |
说明 |
---|---|
{image_name}:{new_tag} |
此次构建的镜像名称与标签,建议将{image_name}:{new_tag}命名为“软件包:软件包版本-容器OS-框架类型”(例如“ascend-cann:8.0.RC2-ubuntu”) |
--build-arg |
指定dockerfile文件内的参数 |
{image_name}:{tag} |
{image_name}:{tag}为安装前准备的OS基础容器镜像 |