【ubuntu】安装nvidia-docker

一、安装

# 步骤1: 更新软件包列表
sudo apt update
 
# 步骤2: 安装Docker
sudo apt install docker.io
 
# 步骤3: 安装NVIDIA Docker runtime
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
&& 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 update
 
sudo apt install nvidia-docker2
 
# 步骤4: 重启Docker服务
sudo systemctl restart docker
 
# 步骤5: 测试NVIDIA Docker运行时
sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi

 或者

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
sudo apt-get install nvidia-docker2 -y
sudo pkill -SIGHUP dockerd

 

二、配置

~$ vim /etc/docker/daemon.json 
{
    "default-runtime": "nvidia",
    "insecure-registries" : [
        "192.168.1.100:5000"
    ],
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

 

 

三、报错

1、如果没有配置2,可能会报错Error response from daemon: unknown or invalid runtime name: nvidia

配置2后就可以正常跑了

问题出在安装nvidia-docker2,选择保留之前的配置

sudo apt-get install nvidia-docker2
[sudo] tester 的密码: 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
将会同时安装下列软件:
  libnvidia-container-tools libnvidia-container1 nvidia-container-toolkit
  nvidia-container-toolkit-base
下列【新】软件包将被安装:
  libnvidia-container-tools libnvidia-container1 nvidia-container-toolkit
  nvidia-container-toolkit-base nvidia-docker2
升级了 0 个软件包,新安装了 5 个软件包,要卸载 0 个软件包,有 83 个软件包未被升级。
需要下载 859 kB/4,056 kB 的归档。
解压缩后会消耗 15.7 MB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/amd64  nvidia-container-toolkit 1.13.5-1 [853 kB]
获取:2 https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/amd64  nvidia-docker2 2.13.0-1 [5,548 B]
已下载 859 kB,耗时 2分 44秒 (5,224 B/s)                                       
正在选中未选择的软件包 libnvidia-container1:amd64。
(正在读取数据库 ... 系统当前共安装有 214527 个文件和目录。)
准备解压 .../libnvidia-container1_1.13.5-1_amd64.deb  ...
正在解压 libnvidia-container1:amd64 (1.13.5-1) ...
正在选中未选择的软件包 libnvidia-container-tools。
准备解压 .../libnvidia-container-tools_1.13.5-1_amd64.deb  ...
正在解压 libnvidia-container-tools (1.13.5-1) ...
正在选中未选择的软件包 nvidia-container-toolkit-base。
准备解压 .../nvidia-container-toolkit-base_1.13.5-1_amd64.deb  ...
正在解压 nvidia-container-toolkit-base (1.13.5-1) ...
正在选中未选择的软件包 nvidia-container-toolkit。
准备解压 .../nvidia-container-toolkit_1.13.5-1_amd64.deb  ...
正在解压 nvidia-container-toolkit (1.13.5-1) ...
正在选中未选择的软件包 nvidia-docker2。
准备解压 .../nvidia-docker2_2.13.0-1_all.deb  ...
正在解压 nvidia-docker2 (2.13.0-1) ...
正在设置 nvidia-container-toolkit-base (1.13.5-1) ...
正在设置 libnvidia-container1:amd64 (1.13.5-1) ...
正在设置 libnvidia-container-tools (1.13.5-1) ...
正在设置 nvidia-container-toolkit (1.13.5-1) ...
正在设置 nvidia-docker2 (2.13.0-1) ...

配置文件 '/etc/docker/daemon.json'
 ==> 系统中的这个文件或者是由您创建的,或者是由脚本建立的。
 ==> 软件包维护者所提供的软件包中也包含了该文件。
   您现在希望如何处理呢? 您有以下几个选择:
    Y 或 I  :安装软件包维护者所提供的版本
    N 或 O  :保留您原来安装的版本
      D     :显示两者的区别
      Z     :把当前进程切换到后台,然后查看现在的具体情况
 默认的处理方法是保留您当前使用的版本。
*** daemon.json (Y/I/N/O/D/Z) [默认选项=N] ?  
正在处理用于 libc-bin (2.35-0ubuntu3.7) 的触发器 ...

选保留配置的话,新的配置未加进去导致

 

参考链接:

Ubuntu22.04系统安装Docker后,容器如何使用宿主机Nvidia GPU教程_ubuntu 2204 docker gpu-CSDN博客

 

posted @ 2024-05-16 17:09  代码诠释的世界  阅读(1438)  评论(0编辑  收藏  举报