使用具有entrypoint命令的镜像
问题描述
当镜像中使用了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'
父主题: FAQ