自建容器部署并推理
本章节介绍如何在边缘推理场景设备自建容器,上传镜像并进行解密操作。
- 将镜像压缩文件包导入推理场景设备。
- 执行以下命令在容器中导入镜像,请确保该镜像符合用户所在组织的安全要求。
docker load < cfs-infer.tar
“cfs-infer.tar”为用户的推理镜像名称。
- 启动容器,使用加密预共享密钥口令章节获取的ai-tool工具解密预共享密钥口令并调用crypto_fs解密模型文件并启动推理,以Altas 500pro设备为例。加粗命令请根据实际情况修改,使用带有entrypoint命令的镜像请参考FAQ使用具有entrypoint命令的镜像。
docker run -it \ --env PSK_KEY=${ai-tool加密工具生成的预共享密钥口令密文} \ --env CERT_KEY=${ai-tool加密工具生成的CFS证书口令密文} \ --restart=on-failure:5 \ --security-opt seccomp=seccomp_profile.json \ --device=/dev/fuse --net=aiguard \ --device=/dev/davinci0 \ --device=/dev/davinci_manager \ --device=/dev/devmm_svm \ --device=/dev/hisi_hdc \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \ -v ${挂载文件的根目录}/secrets:/run/secrets \ -v ${挂载文件的根目录}/job:/job \ --cpus=10 -c 512 -m 2048m [image_name]:[image_version] \ unshare --propagation unchanged -m -r /bin/bash -c 'export LD_LIBRARY_PATH=/job/crypto_fs/lib:$LD_LIBRARY_PATH;./ai-tool run ./crypto_fs/bin/crypto_fs /job/encrypt /job/dec/ --cert_file=/job/cfs.pem --pri_key_file=/job/cfs.key --ca_file=/job/ca.pem -p "/job/dec/infer/sdk/infer_start_cfs.py" -K 10000 -k --port 2025'
- docker命令参数:
- --env:环境变量配置选项。当使用制作容器镜像(可选)步骤制作的镜像推理时无需配置该参数。
- --security-opt:配置安全选项。
- --restart:容器的重启策略,选择on-failure重启策略并限制次数为5。
- -it:为-i和-t,打开STDIN,用于控制台交互;分配tty设备,该可以支持终端登录,默认为false。
- --device:添加主机设备给容器,相当于设备直通。
- -v,--volume:给容器挂载存储卷,挂载到容器的某个目录 。当使用制作容器镜像(可选)步骤制作的镜像推理时无需配置该参数。
- --cpus:使用的cpu数量。
- -c:允许使用的cpu份额。
- -m:允许使用的内存限额。
- --port:KMSAgent监听CFS的端口,默认为1024,使用批量配置工具的默认参数也为1024,此处参数值请与批量配置参数保持一致。
- [image_name]:[image_version]:请根据镜像实际名称和版本号替换。
- docker命令参数:
父主题: 边缘场景容器化推理