Centos8-x86_64上安装使用nvidia-docker

一、说明

由于一些原因,遇到了在centos8上使用nvidia-docker,以前基本上没使用过,将自己的安装、配置、使用过程记录一下。

二、步骤

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#1.卸载已有组件
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

#2.安装基础组件
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

#3.配置仓库
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#4.安装docker-ce*
yum list docker-ce --showduplicates | sort -r #查看版本
#安装最新版本
yum install docker-ce docker-ce-cli containerd.io
#如果要安装指定版本
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

#5.启动docker并在不使用GPU时运行容器
systemctl start docker
docker run hello-world 或 docker run swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/hello-world:latest

#6.安装 nvidia-container-* 包
yum install -y nvidia-container-toolkit install nvidia-container-runtime

#7.Docker 守护进程以识别 NVIDIA 容器运行时(关键)
nvidia-ctk runtime configure --runtime=docker
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#8.修改/etc/docker/daemon.json文件,添加默认运行时为nvidia
vi /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"dns": [
"223.5.5.5",
"223.6.6.6",
"202.103.0.68",
"8.8.8.8"
],
"log-opts": {
"max-file": "5",
"max-size": "50m"
},
"registry-mirrors": [
"https://hub.rat.dev",
"https://registry.aliyuncs.com",
"https://registry.docker-cn.com",
"https://docker.chenby.cn",
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://dockerproxy.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
],
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "/usr/local/nvidia/toolkit/nvidia-container-runtime",
"runtimeArgs": []
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#9.加载daemon.json文件并重启docker服务
systemctl daemon-reload
systemctl restart docker

#10.创建带NVIDIA GPU的容器
docker run -itd \
--name ubuntu2204 \
--gpus='"device=0,1"' \
--restart=always \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/ubuntu:22.04
#如果要使用全部NVIDIA GPU
docker run -itd \
--name ubuntu2204 \
--gpus all \
--restart=always \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/ubuntu:22.04


Centos8-x86_64上安装使用nvidia-docker
https://jiangsanyin.github.io/2025/03/16/Centos8-x86-64上安装使用nvidia-docker/
作者
sanyinjiang
发布于
2025年3月16日
许可协议