Rocky9.2离线安装docker和NVIDIA Container Toolkit训练环境搭建

前言

复制代码
Docker 是目前最流行的容器平台,而 NVIDIA Container Toolkit 可以让 Docker 容器直接访问 GPU,实现 AI、深度学习和高性能计算工作负载。

在企业内网环境中,通常无法直接联网下载 RPM 包或使用官方仓库,所以需要提前准备好:
Docker RPM 包及依赖
NVIDIA Container Toolkit RPM 包及依赖
NVIDIA 驱动(确保 GPU 能正常使用)

一、离线安装docker

1.下载 Docker

下载 Docker 的最新版本 docker-20.10.9.tgz 到本地。

https://download.docker.com/linux/static/stable/x86_64/

https://github.com/docker-archive/docker-ce/releases

2. 安装 Docker

解压下载的 Docker 压缩包

tar xvf docker-20.10.9.tgz

复制 Docker 目录到 /usr/bin,使 Docker 命令可执行

cp -r docker/* /usr/bin

清理解压后的文件

rm -rf docker docker-20.10.9.tgz

3. 配置 Docker 服务

创建 Docker 服务配置文件

sudo vim /etc/systemd/system/docker.service

在文件中添加以下内容:

bash 复制代码
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
 
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
 
[Install]
WantedBy=multi-user.target

赋予 Docker 服务文件执行权限

sudo chmod +x /etc/systemd/system/docker.service

重新加载 systemd 配置

sudo systemctl daemon-reload

启用 Docker 服务开机自启

sudo systemctl enable docker.service

启动 Docker 服务

sudo systemctl start docker

检查 Docker 服务状态

sudo systemctl status docker

4. 添加执行权限

赋予 Docker 服务文件执行权限

sudo chmod +x /etc/systemd/system/docker.service

重新加载 systemd 配置

sudo systemctl daemon-reload

5. 启动docker

启用 Docker 服务开机自启

sudo systemctl enable docker.service

启动 Docker 服务

sudo systemctl start docker

检查 Docker 服务状态

sudo systemctl status docker

二、离线安装NVIDIA Container Toolkit

复制代码
通过安装和配置 NVIDIA Container Toolkit,可以使 Docker 容器使用宿主机的 GPU 资源。,NVIDIA Container Toolkit 是 nvidia-docker 的升级版,建议使用NVIDIA Container Toolkit而不是旧的nvidia-docker。

1.下载 NVIDIA Container Toolkit

下载 Docker 的最新版本 nvidia-container-toolkit_1.18.1_rpm_x86_64.tar.gz 到本地。

https://github.com/NVIDIA/nvidia-container-toolkit/releases

2. 安装 NVIDIA Container Toolkit

bash 复制代码
[root@localhost source]# tar -zxvf nvidia-container-toolkit_1.18.1_rpm_x86_64.tar.gz
release-v1.18.1-stable/packages/centos7/x86_64/libnvidia-container-devel-1.18.1-1.x86_64.rpm
release-v1.18.1-stable/packages/centos7/x86_64/libnvidia-container-libseccomp2-1.18.1-1.x86_64.rpm
release-v1.18.1-stable/packages/centos7/x86_64/libnvidia-container-static-1.18.1-1.x86_64.rpm
release-v1.18.1-stable/packages/centos7/x86_64/libnvidia-container-tools-1.18.1-1.x86_64.rpm
release-v1.18.1-stable/packages/centos7/x86_64/libnvidia-container1-1.18.1-1.x86_64.rpm
release-v1.18.1-stable/packages/centos7/x86_64/libnvidia-container1-debuginfo-1.18.1-1.x86_64.rpm
release-v1.18.1-stable/packages/centos7/x86_64/nvidia-container-toolkit-1.18.1-1.x86_64.rpm
release-v1.18.1-stable/packages/centos7/x86_64/nvidia-container-toolkit-base-1.18.1-1.x86_64.rpm
release-v1.18.1-stable/packages/centos7/x86_64/nvidia-container-toolkit-operator-extensions-1.18.1-1.x86_64.rpm
[root@localhost source]#
[root@localhost llama3.1-8b]# dnf localinstall -y release-v1.18.1-stable/packages/centos7/x86_64/*.rpm
Last metadata expiration check: 0:34:34 ago on Wed 31 Dec 2025 03:54:57 PM CST.
Dependencies resolved.
=======================================================================================================================================================================================================================================================================================
 Package                                                                                       Architecture                                            Version                                                     Repository                                                     Size
=======================================================================================================================================================================================================================================================================================
Installing:
 libnvidia-container-devel                                                                     x86_64                                                  1.18.1-1                                                    @commandline                                                   27 k
 libnvidia-container-static                                                                    x86_64                                                  1.18.1-1                                                    @commandline                                                  157 k
 libnvidia-container-tools                                                                     x86_64                                                  1.18.1-1                                                    @commandline                                                   47 k
 libnvidia-container1                                                                          x86_64                                                  1.18.1-1                                                    @commandline                                                  1.1 M
 libnvidia-container1-debuginfo                                                                x86_64                                                  1.18.1-1                                                    @commandline                                                  387 k
 nvidia-container-toolkit                                                                      x86_64                                                  1.18.1-1                                                    @commandline                                                  1.6 M
 nvidia-container-toolkit-base                                                                 x86_64                                                  1.18.1-1                                                    @commandline                                                  8.5 M
 nvidia-container-toolkit-operator-extensions                                                  x86_64                                                  1.18.1-1                                                    @commandline                                                  4.4 M

Transaction Summary
=======================================================================================================================================================================================================================================================================================
Install  8 Packages

Total size: 16 M
Installed size: 47 M
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Running scriptlet: libnvidia-container1-1.18.1-1.x86_64                                                                                                                                                                                                                          1/1
  Running scriptlet: nvidia-container-toolkit-base-1.18.1-1.x86_64                                                                                                                                                                                                                 1/1
  Running scriptlet: libnvidia-container-devel-1.18.1-1.x86_64                                                                                                                                                                                                                     1/1
  Running scriptlet: libnvidia-container-tools-1.18.1-1.x86_64                                                                                                                                                                                                                     1/1
  Running scriptlet: nvidia-container-toolkit-1.18.1-1.x86_64                                                                                                                                                                                                                      1/1
  Running scriptlet: libnvidia-container-static-1.18.1-1.x86_64                                                                                                                                                                                                                    1/1
  Running scriptlet: nvidia-container-toolkit-operator-extensions-1.18.1-1.x86_64                                                                                                                                                                                                  1/1
  Running scriptlet: libnvidia-container1-debuginfo-1.18.1-1.x86_64                                                                                                                                                                                                                1/1
  Preparing        :                                                                                                                                                                                                                                                               1/1
  Running scriptlet: libnvidia-container1-1.18.1-1.x86_64                                                                                                                                                                                                                          1/8
  Installing       : libnvidia-container1-1.18.1-1.x86_64                                                                                                                                                                                                                          1/8
  Running scriptlet: libnvidia-container1-1.18.1-1.x86_64                                                                                                                                                                                                                          1/8
  Running scriptlet: nvidia-container-toolkit-base-1.18.1-1.x86_64                                                                                                                                                                                                                 2/8
  Installing       : nvidia-container-toolkit-base-1.18.1-1.x86_64                                                                                                                                                                                                                 2/8
  Running scriptlet: nvidia-container-toolkit-base-1.18.1-1.x86_64                                                                                                                                                                                                                 2/8
Created symlink /etc/systemd/system/multi-user.target.wants/nvidia-cdi-refresh.path → /etc/systemd/system/nvidia-cdi-refresh.path.
Created symlink /etc/systemd/system/multi-user.target.wants/nvidia-cdi-refresh.service → /etc/systemd/system/nvidia-cdi-refresh.service.
Regenerating NVIDIA CDI specification...

  Running scriptlet: libnvidia-container-devel-1.18.1-1.x86_64                                                                                                                                                                                                                     3/8
  Installing       : libnvidia-container-devel-1.18.1-1.x86_64                                                                                                                                                                                                                     3/8
  Running scriptlet: libnvidia-container-devel-1.18.1-1.x86_64                                                                                                                                                                                                                     3/8
  Running scriptlet: libnvidia-container-tools-1.18.1-1.x86_64                                                                                                                                                                                                                     4/8
  Installing       : libnvidia-container-tools-1.18.1-1.x86_64                                                                                                                                                                                                                     4/8
  Running scriptlet: libnvidia-container-tools-1.18.1-1.x86_64                                                                                                                                                                                                                     4/8
  Running scriptlet: nvidia-container-toolkit-1.18.1-1.x86_64                                                                                                                                                                                                                      5/8
  Installing       : nvidia-container-toolkit-1.18.1-1.x86_64                                                                                                                                                                                                                      5/8
  Running scriptlet: nvidia-container-toolkit-1.18.1-1.x86_64                                                                                                                                                                                                                      5/8
  Running scriptlet: libnvidia-container-static-1.18.1-1.x86_64                                                                                                                                                                                                                    6/8
  Installing       : libnvidia-container-static-1.18.1-1.x86_64                                                                                                                                                                                                                    6/8
  Running scriptlet: libnvidia-container-static-1.18.1-1.x86_64                                                                                                                                                                                                                    6/8
  Running scriptlet: nvidia-container-toolkit-operator-extensions-1.18.1-1.x86_64                                                                                                                                                                                                  7/8
  Installing       : nvidia-container-toolkit-operator-extensions-1.18.1-1.x86_64                                                                                                                                                                                                  7/8
  Running scriptlet: nvidia-container-toolkit-operator-extensions-1.18.1-1.x86_64                                                                                                                                                                                                  7/8
  Running scriptlet: libnvidia-container1-debuginfo-1.18.1-1.x86_64                                                                                                                                                                                                                8/8
  Installing       : libnvidia-container1-debuginfo-1.18.1-1.x86_64                                                                                                                                                                                                                8/8
  Running scriptlet: libnvidia-container1-debuginfo-1.18.1-1.x86_64                                                                                                                                                                                                                8/8
  Running scriptlet: libnvidia-container1-1.18.1-1.x86_64                                                                                                                                                                                                                          8/8
  Running scriptlet: nvidia-container-toolkit-base-1.18.1-1.x86_64                                                                                                                                                                                                                 8/8
  Running scriptlet: libnvidia-container-devel-1.18.1-1.x86_64                                                                                                                                                                                                                     8/8
  Running scriptlet: libnvidia-container-tools-1.18.1-1.x86_64                                                                                                                                                                                                                     8/8
  Running scriptlet: nvidia-container-toolkit-1.18.1-1.x86_64                                                                                                                                                                                                                      8/8
  Running scriptlet: libnvidia-container-static-1.18.1-1.x86_64                                                                                                                                                                                                                    8/8
  Running scriptlet: nvidia-container-toolkit-operator-extensions-1.18.1-1.x86_64                                                                                                                                                                                                  8/8
  Running scriptlet: libnvidia-container1-debuginfo-1.18.1-1.x86_64                                                                                                                                                                                                                8/8
  Verifying        : libnvidia-container1-1.18.1-1.x86_64                                                                                                                                                                                                                          1/8
  Verifying        : libnvidia-container1-debuginfo-1.18.1-1.x86_64                                                                                                                                                                                                                2/8
  Verifying        : libnvidia-container-devel-1.18.1-1.x86_64                                                                                                                                                                                                                     3/8
  Verifying        : libnvidia-container-static-1.18.1-1.x86_64                                                                                                                                                                                                                    4/8
  Verifying        : libnvidia-container-tools-1.18.1-1.x86_64                                                                                                                                                                                                                     5/8
  Verifying        : nvidia-container-toolkit-1.18.1-1.x86_64                                                                                                                                                                                                                      6/8
  Verifying        : nvidia-container-toolkit-base-1.18.1-1.x86_64                                                                                                                                                                                                                 7/8
  Verifying        : nvidia-container-toolkit-operator-extensions-1.18.1-1.x86_64                                                                                                                                                                                                  8/8

Installed:
  libnvidia-container-devel-1.18.1-1.x86_64     libnvidia-container-static-1.18.1-1.x86_64                   libnvidia-container-tools-1.18.1-1.x86_64 libnvidia-container1-1.18.1-1.x86_64 libnvidia-container1-debuginfo-1.18.1-1.x86_64 nvidia-container-toolkit-1.18.1-1.x86_64
  nvidia-container-toolkit-base-1.18.1-1.x86_64 nvidia-container-toolkit-operator-extensions-1.18.1-1.x86_64

Complete!
[root@localhost llama3.1-8b]#

3.配置 Docker 使用 NVIDIA runtime

​编辑 /etc/docker/daemon.json 文件:

bash 复制代码
{
  "runtimes": {
    "nvidia": {
      "path": "/usr/bin/nvidia-container-runtime",
      "runtimeArgs": []
    }
  }
}

或者使用指令配置

sudo nvidia-ctk runtime configure --runtime=docker --set-as-default

重启docker生效

sudo systemctl restart docker

bash 复制代码
[root@localhost llama3.1-8b]# nvidia-ctk runtime configure --runtime=docker --set-as-default
INFO[0000] Config file does not exist; using empty config
INFO[0000] Wrote updated config to /etc/docker/daemon.json
INFO[0000] It is recommended that docker daemon be restarted.
[root@localhost llama3.1-8b]#
[root@localhost llama3.1-8b]# systemctl restart docker
[root@localhost llama3.1-8b]#
相关推荐
xywww1684 小时前
大模型 API 选型实战:GPT、Gemini、Claude 接入时该看哪些指标?
运维·服务器·人工智能·python·gpt·langchain
梦想的颜色7 小时前
【Docker原理】Docker 容器一文打尽:生命周期、环境管控、迁移备份、日志进程排查、垃圾清理
运维·docker·容器·容器生命周期·容器日志排查·容器迁移备份·容器进程管理
donoot9 小时前
Linux系统下图书馆级电子书全自动标准化分类整理完整实施方案
大数据·linux·运维·电子书管理
ITKEY_10 小时前
macOS brew 安装的nginx 文件在哪里?
运维·nginx·macos
Elastic 中国社区官方博客10 小时前
如何比较两个 Elasticsearch 索引并找出缺失的文档
大数据·运维·数据库·elasticsearch·搜索引擎
万里侯10 小时前
GitOps 漂移检测:集群里改了配置,Git 还以为一切正常
微服务·容器·k8s
Tim_Van11 小时前
在 CentOS 7 中安装 Chromium 的完整步骤
linux·运维·chrome·centos
孫治AllenSun12 小时前
【Nginx】配置参数和使用案例
运维·nginx
啵啵鱼爱吃小猫咪13 小时前
Ubuntu 20.04 + ROS Noetic 源码安装 libfranka 0.8.0 和 franka_ros 0.8.0 完整教程
linux·运维·ubuntu
Piko61414 小时前
锐捷 VSU 虚拟化堆叠配置
运维·网络·笔记