网上有人说重启动docker就好了,但是对于不那使,可能是问题原因不一样。下面记录了自己解决该问题的原因、过程及方法。

1.起因

安装百度apollo,需要依赖docker,nvidia-docker。

按照上面步骤安装docker,默认安装最新版本20.10。

途中安装完,重启了电脑。然后继续

cd apollo
bash docker/script/dev_start.sh

出现题目一样的错误:Error response from daemon: could not select device driver ““ with capabilities: [[gpu]]

2.原因

重启后,利用docker version终端指令查询docker版本,发现docker client版本是20.10,docker server版本却是19.03。经过几次试验,发现这就是问题的根本原因了。

但是,为什么重新装几次docker,刚装完后查,版本都是20.10,一重启又变回不一致的。

原来是,还有docker不是用apt-get方式安装的,所以没有卸载干净。系统同时存在多个版本的docker,导致重启版本混乱。

3. 解决方法

又得来一遍,卸载刚装的docker

sudo apt-get remove docker-ce docker-ce-cli containerd.io

whereis docker查看系统中是否还有其他之前已经安装的其他版本的docker,发现好多地方都有

docker: /usr/bin/docker /etc/docker /usr/libexec/docker /snap/bin/docker.compose /snap/bin/docker /snap/bin/docker.machine /snap/bin/docker.help /usr/share/man/man1/docker.1.gz

恍惚记起有用snap装过docker,于是执行snap卸载docker命令:

sudo snap list
sudo snap remove docker

whereis docker命令查看是否有其它多余文件夹或文件,找到并全部删除:

sudo rm -rf /etc/docker/

重装docker,navidia-docker

sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo apt-get install -y nvidia-docker2

测试:

sudo systemctl restart docker
sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi

在这里插入图片描述
重启后查看版本,发现docker版本不一致问题已经解决:

docker version

在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐