1. 卸载旧版本的docker-ce 18.03
下列软件包有未满足的依赖关系:
nvidia-docker2 : 依赖: docker-ce (= 18.06.2~ce~3-0~debian) 但是 18.03.1~ce~3-0~ubuntu 正要被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
sudo apt-get purge docker-ce
2. 安装Ubuntu版本的docker
坑啊… … …
基本思路如下链接
https://docs.docker.com/install/linux/docker-ce/ubuntu/
但是要注意一点 :
- /etc/apt/source.list
#deb [by-hash=force] http://packages.deepin.com/deepin panda main contrib non-free #把deepin的源注释掉
# deb-src http://packages.deepin.com/deepin panda main contrib non-free
deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable # ubstable改为bionic
# deb-src [arch=amd64] https://download.docker.com/linux/ubuntu unstable stable
然后再执行sudo apt-get update
(base) tqc@tqc-PC:~$ sudo apt-cache madison docker-ce
docker-ce | 5:19.03.1~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.0~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.8~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.7~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.6~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.5~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.4~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.3~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.2~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.1~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.0~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 18.06.3~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 18.06.2~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 18.06.1~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 18.06.0~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 18.03.1~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
(base) tqc@tqc-PC:~$ sudo apt-get install docker-ce=18.06.3~ce~3-0~ubuntu
装好了
3. 安装nvidia-docker2
坑啊… … …
基本操作如下链接
https://blog.youkuaiyun.com/zh_jessica/article/details/79644544
但是发现添加的软件源貌似是基于debian的
下列软件包有未满足的依赖关系:
nvidia-docker2 : 依赖: docker-ce (= 18.06.2~ce~3-0~debian) 但是 18.03.1~ce~3-0~ubuntu 正要被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
看到
(base) tqc@tqc-PC:~$ cat /etc/apt/sources.list.d/nvidia-docker.list
deb https://nvidia.github.io/libnvidia-container/dibain8/$(ARCH) /
deb https://nvidia.github.io/nvidia-container-runtime/dibain8/$(ARCH) /
deb https://nvidia.github.io/nvidia-docker/dibain8/$(ARCH) /
搜到
https://www.jianshu.com/p/c427cff4e650
把dibain8替换为ubuntu16.04
deb https://nvidia.github.io/libnvidia-container/ubuntu16.04/$(ARCH) /
deb https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/$(ARCH) /
deb https://nvidia.github.io/nvidia-docker/ubuntu16.04/$(ARCH) /
更新源之后装
sudo apt-get install nvidia-docker2
记住是2, 不然凉了
测试
sudo docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
docker: Error response from daemon: Unknown runtime specified nvidia.
https://blog.youkuaiyun.com/weixin_32820767/article/details/80538510
(base) tqc@tqc-PC:~$ sudo docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"process_linux.go:385: running prestart hook 1 caused \\\"error running hook: exit status 1, stdout: , stderr: exec command: [/usr/bin/nvidia-container-cli --load-kmods configure --ldconfig=@/sbin/ldconfig.real --device=all --compute --utility --require=cuda>=10.1 brand=tesla,driver>=384,driver<385 brand=tesla,driver>=396,driver<397 brand=tesla,driver>=410,driver<411 --pid=19879 /var/lib/docker/overlay2/44857095f43eac51a642893a70cf6c4c77b8cd1c54f30bb0a97eaa455cf5100f/merged]\\\\nnvidia-container-cli: requirement error: unsatisfied condition: brand = tesla\\\\n\\\"\"": unknown.