制作容器镜像(可选)
- 执行以下步骤准备Dockerfile文件。
- 进入镜像打包文件所在目录,执行以下命令创建dockerfile文件(文件名示例“Dockerfile”)。
vim Dockerfile
- 参见1.Dockerfile编写示例。编写,写入后执行:wq命令保存内容。
- 请确保制作过程中需要的文件均符合用户所在组织的安全要求。
- 进入镜像打包文件所在目录,执行以下命令创建dockerfile文件(文件名示例“Dockerfile”)。
- 进入已准备文件的所在目录,执行以下命令,构建容器镜像,注意不要遗漏命令结尾的“.”。
docker build --no-cache=true -t 镜像名_系统架构:镜像tag .
例如:
docker build --no-cache=true -t cfs-infer:v1 .
命令解释如所表1示。
当出现“Successfully built xxx”表示镜像构建成功。
- 构建完成后,执行以下命令查看镜像信息。
docker images
显示示例:
REPOSITORY TAG IMAGE ID CREATED SIZE cfs-infer v1 fffbd83be42a X minutes ago XXXMB
- (可选)若需要将镜像导入其他设备运行,可执行以下命令导出镜像。
docker save -o cfs-infer.tar cfs-infer:v1
“-o”:输入参数。
“cfs-infer.tar”:导出镜像名称。
“ cfs-infer:v1”:镜像名_系统架构:镜像tag。
编写说明
Dockerfile编写示例。
# 基础推理镜像 FROM ${基础镜像名称} RUN chmod 700 /home/hwMindX && \ mkdir /run/secrets/ && \ chown hwMindX:hwMindX /run/secrets && \ chmod 700 /run/secrets && \ mkdir /job && \ chown hwMindX:hwMindX -R /job && \ echo 'umask 077' >> /etc/profile && \ echo 'source /etc/profile' >> /home/hwMindX/.bashrc # 将镜像打包文件拷贝至/job COPY --chown=hwMindX:hwMindX ./job /job COPY --chown=hwMindX:hwMindX ./secrets /run/secrets # hwMindX is used as the default user of the container USER hwMindX WORKDIR /job ENV LD_LIBRARY_PATH=/job/crypto_fs/lib:$LD_LIBRARY_PATH ENV PSK_KEY=${ai-tool加密工具生成的预共享密钥口令密文} ENV CERT_KEY=${ai-tool加密工具生成的CFS证书口令密文}

- 驱动默认安装的用户与用户组为HwHiAiUser用户及其用户组,制作镜像时需保证镜像中用户在HwHiAiUser用户的用户组内。
- 若推理容器运行用户为root用户,该场景下权限控制可能存在安全风险,容器内不建议使用root用户进行推理。
- 若推理容器运行用户必须为root用户,则驱动安装时请使用--install-for-all参数,且安装后所有用户拥有权限,此参数存在使用安全风险,详细内容请参见驱动与固件安装指导。
- 当用户使用自制镜像时需要配置ENV PSK_KEY与ENV CERT_KEY参数。
父主题: 边缘场景容器化推理