deepin安装docker

在安装docker的时候遇到不少问题,还好最终圆满解决。不小心将终端关掉了,为了复现安装过程中的问题,将安装好的卸载了,重新来。

1. 卸载原有的docker

网上多有的方法:

sudo apt-get remove docker docker-engine

然后并不好使,使用下列命令卸载

sudo apt-get remove docker docker-engine docker-ce docker.io
sudo apt-get purge docker
sudo apt-get autoremove docker
sudo rm -rf /var/lib/docker

2.安装相关工具

sudo apt-get install apt-transport-https ca-certificates curl python-software-properties software-properties-common

3.安装秘钥

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

安装成功显示:
在这里插入图片描述

4.查看秘钥是否安装成功

sudo apt-key fingerprint OEBFCD88

5.添加docker官方仓库

sudo add-apt-repository "https://download.docker.com/linux/debian stretch stable"
sudo apt-get update

注:
Debian 9(“stretch”) — 当前的稳定版
Debian 8(“jessie”) — 被淘汰的稳定版
Debian 7(“wheezy”) — 被淘汰的稳定版
Debian 6.0(“squeeze”) — 被淘汰的稳定版
Debian GNU/Linux 5.0(“lenny”) — 被淘汰的稳定版
Debian GNU/Linux 4.0(“etch”) — 被淘汰的稳定版
Debian GNU/Linux 3.1(“sarge”) — 被淘汰的稳定版
Debian GNU/Linux 3.0(“woody”) — 被淘汰的稳定版
Debian GNU/Linux 2.2(“potato”) — 被淘汰的稳定版
Debian GNU/Linux 2.1(“slink”) — 被淘汰的稳定版
Debian GNU/Linux 2.0(“hamm”) — 被淘汰的稳定版

那么怎么查询自己的debian版本呢,使用如下命令

cat /etc/debian_version

我的是9.0的,所以添加官方仓命令后边是 stretch,请根据自己的版本进行修改。
但是,我的此时报错:

aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for debian/unstable

解决方案:
在源中添加该官方仓,具体操作如下

sudo gedit /etc/apt/sources.list

在该文件最后添加

deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/debian stretch stable

保存,保存后就不要纠结了,继续往下执行

6.查看docker-ce的版本,安装制定版本

sudo apt-cache madison docker-ce

可以看到如下结果:
在这里插入图片描述
说明上述添加源已经成功。

此时,安装docker

sudo apt-get install docker-ce=18.06.3~ce~3-0~debian containerd.io

此时我安装的时候就随机选择了一个版本进行安装。

7.查看安装版本信息

docker version

结果
在这里插入图片描述

8.设置docker非root账户

sudo gpasswd -a ${USER} docker

9.安装nvidia-docker2的秘钥

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -

10.安装nvidia-docker2的仓库

curl -s -L https://nvidia.github.io/nvidia-docker/debian8/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

11.更新源

sudo apt-get update

12.查看版本

sudo apt-cache madison nvidia-docker2
sudo apt-cache madison  nvidia-container-runtime

在这里插入图片描述

13.安装制定版本nvidia-docker2 , 以及nvidia-container-runtime

我这里选的都是第一个

sudo apt-get install nvidia-docker2=2.0.3+docker18.06.2-1
sudo apt-get install nvidia-container-runtime=2.0.0+docker18.06.2-1

此时报错了

nvidia-docker2 : 依赖: docker-ce (= 18.06.2~ce~3-0~debian) 但是 5:19.03.1~3-0~debian-stretch 正要被安装

分析原因是,docker版本不对应,查看这两项所需的docker版本为18.06.2,而我之前装的是18.06.3,怎么办,从第一步重新开始,将第6步中的安装变为:

sudo apt-get install docker-ce=18.06.2~ce~3-0~debian containerd.io

14.测试nvidia-docker2的安装是否成功

docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi

对应自己的cuda版本,版本查询指令如下:

cat /usr/local/cuda/version.txt

报错:

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 --pid=6747 /var/lib/docker/overlay2/f260a58c9024cd704bf51a8ae49516f6e9b62cf5c6b73d7e6917073642a79f94/merged]\\\\nnvidia-container-cli: ldcache error: open failed: /sbin/ldconfig.real: no such file or directory\\\\n\\\"\"": unknown. 

解决方案如下:

  • 添加库:
sudo apt-get install nvidia-opencl-common libnvidia-encode1 libnvidia-fbc1 libnvidia-ifr1 libgles1-nvidia libcuda1 nvidia-smi
  • 修改/etc/nvidia-container-runtime/config.toml,
sudo gedit /etc/nvidia-container-runtime/config.toml

将ldconfig="@/sbin/ldconfig.real"注释掉

然后再测试,就可以得到正确的结果了,(如果不可以,请重启电脑后再测试,即执行代码docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi)

成功后显示:
在这里插入图片描述

如果报错为:

docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.38/containers/create: dial unix /var/run/docker.sock: connect: permission denied.

解决方案:运行以下两条命令:

sudo systemctl daemon-reload
sudo systemctl restart docker

然后再执行 docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi

至此,安装完成!!!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勤劳的凌菲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值