当镜像中使用了entrypoint命令时,启动解密会失败。
镜像中有entrypoint命令时,启动容器会优先执行entrypoint命令,导致启动解密失败。
通过--entrypoint=/usr/bin/unshare替换镜像中的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 \ --security-opt apparmor=cfs_profile \ --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 \ --entrypoint=/usr/bin/unshare \ --cpus=10 -c 512 -m 2048m 镜像名:tag \ --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/sdk/infer_start_cfs.py" -K 10000 -k --port 2025'