1.CPU
本说明基于DeepFace的Docker镜像文件deepface_image.tar
进行说明。
# 1.导入镜像
docker load -i deepface_image.tar
# 2.创建模型文件夹【并将下载好的模型文件上传】
mkdir -p /root/.deepface/weights/
# 3.启动容器
# 网络隔离性受影响但性能好
docker run --name deepface --privileged=true --restart=always --net="host" -v /root/.deepface/weights/:/root/.deepface/weights/ -d deepface_image
# 一般使用
docker run --name deepface --privileged=true --restart=always -p 5000:5000 -v /root/.deepface/weights/:/root/.deepface/weights/ -d deepface_image
# 使用最新的代码进行容器启动
docker run --name deepface_src --privileged=true --restart=always --net="host" \
-v /root/.deepface/weights/:/root/.deepface/weights/ \
-v /opt/test-facesearch/deepfacesrc/:/app/deepface/ \
-d deepface_image
警告信息:
# 执行命令
docker run --name deepface --privileged=true --restart=always --net="host" -p 5000:5000 -v /root/.deepface/weights/:/root/.deepface/weights/ -d deepface_image
# 警告
WARNING: Published ports are discarded when using host network mode
这个警告通常出现在使用Docker的host网络模式时,因为在这种模式下,容器与主机共享相同的网络命名空间,因此容器中的端口将直接映射到主机上,而不需要进行端口转发。因此,使用-p选项来发布容器端口是无效的,并且会导致警告信息。要解决这个问题,您可以尝试以下方法:
- 如果您不需要将容器端口映射到主机上,请删除-p选项。
- 如果您需要将容器端口映射到主机上,请使用Docker的其他网络模式(例如bridge模式)。
- 如果您确实需要使用host网络模式,请考虑使用主机IP地址来访问容器中的服务,而不是使用端口转发。
2.GPU
首先要启动容器安装tensorrt
:
pip install tensorrt -i https://pypi.tuna.tsinghua.edu.cn/simple
安装后的启动命令:
docker run --name deepface --privileged=true --restart=always --net="host" \
-e PATH=/usr/local/cuda-11.2/bin:$PATH -e LD\_LIBRAR