ubuntu系统nvidia-docker安装指导

为什么要安装nvidia-docker?

  •  docker镜像中可以安装CUDA、cuDNN,但是镜像中没有显卡驱动,因此如果要在镜像中使用GPU,那么需要将本机的显卡驱动映射到Docker镜像中,这就需要安装nvidia-docker了,nvidia-docker的任务就是将显卡驱动映射到Docker镜像中。

nvidia-docker主要版本

  • nvidia-docker1
  • nvidia-docker2

nvidia-docker2线下安装方法

  • docker18之前安装nvidia-docker2,docker19之后使用nvidia-container-toolkit
  • 准备以下几个安装包(nvidia-docker2.zip,前两个也可以从nvidia container库下载)
    • libnvidia-container1_1.0.1-1_amd64.deb
    • libnvidia-container-tools_1.0.1-1_amd64.deb
    • nvidia-container-runtime_3.1.4-1_amd64.deb
    • nvidia-container-toolkit_1.0.5-1_amd64.deb
  • sudo dpkg -i ./lib*  ./nvidia*

nvidia-docker2线上安装方法

  • 如果已经安装了nvidia-docker1,可以通过以下命令卸载和移除:
    • docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -nl docker ps -q -a -f volume={} | xargs -r docker rm -f 
    • sudo apt-get purge -y nvidia-docker
  • 接下来添加GPG key并建立一个仓库
# 可以直接打开网址下载获取gpgkey,然后apt-key add gpgkey
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - 
distribution=$(.  /etc/os-release;echo $ID$VERSION_ID) # ubuntu16.04
# 可以直接打开网站,以ubuntu16.04举例https://nvidia.github.io/nvidia-docker/ubuntu16.04/nvidia-docker.list, 然后存到/etc/apt/sources.list.d/nvidia-docker.list
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 19.0以后版本sudo apt-get install -y nvidia-container-toolkit
    • docker 18.0以前版本sudo apt-get install -y nvidia-docker2
  • 重新导入Docker配置文件:sudo pkill -SIGHUP dockerd
  • 测试nvidia-docker2是否安装成功:
    • docker 19.0版本以后:docker run --gpus "device=0" --rm -it --shm-size="32g"  nvidia/cuda nvidia-smi
    • docker 18.0版本以前:docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi(其中nvidia/cuda是镜像名)
  • 如果出现docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].通过sudo systemctl restart docker && sudo systemctl enable docker解决。

去除--runtime=nvidia方法(docker 18.0以前版本试用)

  • vi /etc/docker/daemon.json
  • 改成如下内容
{
    "default-runtime": "nvidia",
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}
  • 查看docker默认运行时是否为nvidia:docker info

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值