根据自己的cuda,cuddn版本拉取paddle镜像
可查看:https://hub.docker.com/r/paddlepaddle/paddle/tags/?page=1&ordering=last_updated
我的cuda版本是11.1,cudnn版本是8.xx,所有我用的是cuda11.2-cudnn8
因为docker只要19.03以上的,都支持gpu,所以不用再nvidia-docker,再run时加上–gpu即可。
1.拉取镜像
docker pull paddlepaddle/paddle:2.1.2-gpu-cuda11.2-cudnn8
2.生成容器
docker run -p 9292:9292 --name test --gpus all -dit paddlepaddle/paddle:2.1.2-gpu-cuda11.2-cudnn8
3.进入容器
docker exec -it test bash
4.把paddleocr的代码放进容器(需先退出容器)
docker cp /root/crh/xxx.tar.gz 容器id:容器内的路径
ps:也可直接git clone paddleocrxxxx,但是我的代码是在初始paddleocr的基础上经过调试的。
5.进入容器,解压文件
docker exec -it test bash
#cd 到你放压缩包的路径
tar -zxvf xxx.tar.gz
6.需要安装一些python库
如果可以直接pip则说明没问题了
如果出现这个问题,则说明你的镜像源有问题
需要修改docker的DNS
需退出容器
vi /etc/docker/daemon.json
需添加dns如下
{
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
},
"dns": ["114.114.114.114", "8.8.8.8"]
}
即可直接在容器内pip
如:pip install pyclipper -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
#后面加的国内镜像,加快速度
如果还不行,试一下离线安装pip install *.whl,如果再不行,并且报一样的错误,可以试一下重启docker。
ps:
宿主机向Docker容器传送文件
docker cp 本地文件的路径 container_id:<docker容器内的路径>
Docker容器向宿主机传送文件
docker cp container_id:<docker容器内的路径> <本地保存文件的路径>