ubuntu 安装 nvidia-container-toolkit 使docker能用GPU

docker < 19.03安装的是nvidia-docker2  用--runtime=nvidia 做标记

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 |\
tee /etc/apt/sources.list.d/nvidia-docker.list
apt update
apt install -y nvidia-docker2
systemctl restart docker

docker-ce配置默认使用GPU

cat /etc/docker/daemon.json
{
  "default-runtime": "nvidia",
  "runtimes": {
    "nvidia": {
      "path": "/usr/bin/nvidia-container-runtime",
      "runtimeArgs": []
    }
  }
}

 

docker-ce >= 19.03 安装的是 nvidia-container-toolkit   用--gpus all 做标记

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 |\
tee /etc/apt/sources.list.d/nvidia-docker.list
apt update
apt install -y nvidia-container-toolkit

docker-ce使用GPU

# 运行GPU容器 
# 从Docker 19.03开始,安装好docker之后,只需要使用 --gpus 即可指定容器使用显卡
# 容器使用所有显卡的run参数
docker run --gpus all                 nvidia/cuda:9.0-base nvidia-smi
docker run --runtime=nvida            nvidia/cuda:9.0-base nvidia-smi
docker run NVIDIA_VISIBLE_DEVICES=all nvidia/cuda:9.0-base nvidia-smi
# 容器使用指定显卡 第一块和第二块GPU
docker run --gpus '"device=0,1"' nvidia/cuda:9.0-base nvidia-smi

 

docker-ce优化

1 本地镜像仓库

cat /etc/docker/daemon.json
{
  "insecure-registries": ["{{harbor_registry}}"],
  "default-runtime": "nvidia",
  "runtimes": {
    "nvidia": {
      "path": "/usr/bin/nvidia-container-runtime",
      "runtimeArgs": []
    }
  }
}

2 配置docker加速器

cat /etc/docker/daemon.json
{
"registry-mirrors":
  ["https://registry.docker-cn.com",
   "http://hub-mirror.c.163.com",
   "https://docker.mirrors.ustc.edu.cn",
   "https://pee6w651.mirror.aliyuncs.com"
  ],
"insecure-registries": ["{{harbor_registry}}"],
"default-runtime": "nvidia",
"runtimes": {
  "nvidia": {
    "path": "/usr/bin/nvidia-container-runtime",
    "runtimeArgs": []
    }
  }
}

posted on 2023-11-20 15:40  luokeli  阅读(2569)  评论(0)    收藏  举报

导航