ubuntu20.04安装docker和NVIDIA Container Toolkit

写这篇文章的目的就是记录一下装docker的过程,这几天在ubuntu上装docker人给装麻了,被网络问题、代理配置问题折磨得痛不欲生。。。以下安装docker的前提条件是会在ubuntu内科学上网。

安装显卡驱动

在安装docker之前,首先得确定ubuntu安装了显卡驱动,安装方式如下:

https://blog.csdn.net/weixin_43994864/article/details/109805477

安装docker

建议参考官网教程,不建议看某些过时的博客里面的教程,毕竟官网的教程会实时更新,而很多博客的内容都是老古董了。。。官网安装教程:https://docs.docker.com/engine/install/ubuntu/

有几种安装方式可以选择,我选的Install using the apt repository安装方式,官网教程如下:

 1.Set up Docker's apt repository.

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

在终端中依次输入以上命令,运行第4条可能会报错或者卡住,连接不上download.docker.com。

解决方法:参考博客进行换源操作:点击我换源

(即使开启了代理也会出现连接不上download.docekr.com的问题,就很迷。。。)

2.Install the Docker packages.

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

 3.Verify that the Docker Engine installation is successful by running the hello-world image.

sudo docker run hello-world

这一步是用来验证是否装好docker,不开代理的话大概率会寄,即使开了代理也会寄,需要进行一下配置。

运行以下命令进入/etc/docker/daemon.json添加你的代理配置,没有就创建。

sudo vim /etc/docker/daemon.json 

加入以下内容,视情况更改为你自己代理的地址和端口。

{
  "proxies":{
    "http-proxy":"http://127.0.0.1:7890",
    "https-proxy":"http://127.0.0.1:7890",
    "no-proxy":"localhost,127.0.0.0/8"
  }
}

 保存以后再运行以下命令,之后应该就可以拉取镜像了。

systemctl daemon-reload 
systemctl restart docker

安装NVIDIA Container Toolkit

如果不安装NVIDIA Container Toolkit会有以下报错:could not select device driver “” with capabilities: [[gpu]].意思就是目前还不能在容器内调用GPU,这边也建议跟着官网的教程安装:

https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html

 同样选择apt方式安装,步骤如下:

1.Configure the production repository:

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

 上面是官方写的步骤,直接运行会报错,需要在命令行中添加-x http://127.0.0.1:7890代理,具体添加方式,参考此篇博客文档。注意需要在两个地方添加代理,第三行命令前加sudo。

Optionally, configure the repository to use experimental packages:

sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list

2.Update the packages list from the repository: 

sudo apt-get update

 3.Install the NVIDIA Container Toolkit packages:

sudo apt-get install -y nvidia-container-toolkit

运行完之后可能会报四个错误,会给对应的链接:

Err:1 https://nvidia.github.io/libnvidia-container/stable/deb/amd64 libnvidia-container1 1.16.1-1 Could not handshake: Error in the pull function. [IP: 185.199.101.153 443]

从网页中打开发现可以直接下载deb文件,那就直接把这四个文件下载到本地安装,安装顺序不对会报错,注意看提示。通过以下命令安装:

sudo dpkg -i /path/to/downloaded/package.deb

手动装完之后,利用docker拉取一个需要显卡驱动的镜像,这里我以 nvidia/cuda:12.1.1-cudnn8-devel-ubuntu20.04为例,通过以下命令拉取镜像:

sudo docker pull nvidia/cuda:12.1.1-cudnn8-devel-ubuntu20.04

查看显卡驱动版本:

sudo docker run --rm --gpus all nvidia/cuda:12.1.1-cudnn8-devel-ubuntu20.04 nvidia-smi

得到如下结果:

6aec56e1abfd40bf896e42ea9a398ce6.png

至此在ubuntu内完成docker的安装,并且可以实现对GPU的调用。

说一些题外话吧,昨天晚上刚装好docker,今天就写了这篇文章。我写这篇文章主要是做笔记以及给小白选手提供一些安装思路,如果真有小白按我的教程来安装的话,估计也会处处碰壁,但是方向一定不能搞错,有问题可以在评论区讨论,共勉!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值