【docker nvidia/cuda】ubuntu20.04安装docker踩坑记录

发布于:2024-07-02 ⋅ 阅读:(17) ⋅ 点赞:(0)

@docker nvidia

1.遇到这个错误,直接上魔法(科学上网)

OpenSSL SSL_connect: Could not connect to nvidia.github.io:443
这个error是运行 NVIDIA官方docker安装教程 第一个 curl 命令是遇到的

2. apt-get 更新

sudo apt update

遇到 error

https://download.docker.com/linux/ubuntu focal InRelease
  由于没有公钥,无法验证下列签名: NO_PUBKEY 7EA0A9C3F273FCD8

解决办法:
安装公钥:把提示的最后8位复制过来, 即:7EA0A9C3F273FCD8 的后8位

$ sudo apt-key adv --recv-keys --keyserver keyserver.Ubuntu.com F273FCD8

运行添加公钥的命令后, 就可以顺利的使用 apt-get 更新啦

3. docker 安装 开始

sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

4. curl 导入源仓库的 GPG key

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

5.Docker软件源被启用,可以安装软件源中任何可用的 Docker 版本。

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

6.安装 Docker 最新版本,运行下面的命令。如果你想安装指定版本,跳过这个步骤,并且跳到下一步。

sudo apt update
apt list -a docker-ce

若安装指定版本,运行下面的命令,安装默认最新版,可 跳过 此命令

sudo apt install docker-ce=<VERSION> docker-ce-cli=<VERSION> containerd.io

7. 安装完成,Docker服务将会自动启动。输入下面的命令验证:

sudo systemctl status docker

类似下面的输出:

● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: en>
     Active: active (running) since Sun 2023-04-16 02:27:44 UTC; 33s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 6777 (dockerd)
      Tasks: 11
     Memory: 29.1M
     CGroup: /system.slice/docker.service
             └─6777 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containe>

Apr 16 02:27:43 jc0786 dockerd[6777]: time="2023-04-16T02:27:43.429784929Z" level=i>
Apr 16 02:27:43 jc0786 dockerd[6777]: time="2023-04-16T02:27:43.479114229Z" level=i>
Apr 16 02:27:43 jc0786 dockerd[6777]: time="2023-04-16T02:27:43.991187022Z" level=i>
Apr 16 02:27:44 jc0786 dockerd[6777]: time="2023-04-16T02:27:44.089426281Z" level=i>
Apr 16 02:27:44 jc0786 dockerd[6777]: time="2023-04-16T02:27:44.126231191Z" level=w>
Apr 16 02:27:44 jc0786 dockerd[6777]: time="2023-04-16T02:27:44.126292878Z" level=i>
Apr 16 02:27:44 jc0786 dockerd[6777]: time="2023-04-16T02:27:44.126420656Z" level=i>
Apr 16 02:27:44 jc0786 dockerd[6777]: time="2023-04-16T02:27:44.153000389Z" level=i>
Apr 16 02:27:44 jc0786 systemd[1]: Started Docker Application Container Engine.

...

8. 安装docker-nvidia(启动容器调用显卡必备项)

一. 添加软件包存储库(不要重复添加,添加后会报错要删除)

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
 
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
 
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
 
sudo apt-get update

安装 nvidia-docker2 软件包并重新加载 docker 守护程序配置:

sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

测试:

sudo systemctl daemon-reload
sudo systemctl restart docker

最后,下载镜像文件测试, run的时候一定要加–gpus all的参数

sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi

在这里插入图片描述