Ubuntu安装docker + nvidia-container-toolkit

安装 docker

参考官方文档流程安装

移除旧版包以避免冲突

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

设置apt仓库

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

安装docker相关包

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

添加用户组(可选)

如果不想每次使用docker时都要sudo执行:
将当前用户添加到docker组,可以直接docker

sudo groupadd docker
sudo usermod -aG docker $USER

重新登录当前用户

配置daemon.json(可选)

添加解决docker pull失败问题,文件位置默认在/etc/docker/daemon

{
    "runtimes": {
        "nvidia": {
            "args": [],
            "path": "nvidia-container-runtime"
        }
    },
    "insecure-registries": ["localhost:8080"],
    "registry-mirrors": [
        "https://ustc-edu-cn.mirror.aliyuncs.com/",
        "https://ccr.ccs.tencentyun.com/",
        "https://docker.m.daocloud.io/",
        "https://docker.1panelproxy.com",
        "https://yxzrazem.mirror.aliyuncs.com"
    ]
}

安装nvidia-container-toolkit

添加apt仓库后使用apt安装即可

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
    sudo apt-get update
    sudo apt-get install -y nvidia-container-toolkit

配置

sudo nvidia-ctk runtime configure --runtime=docker

nvidia-ctk命令修改/etc/docker/daemon,以便Docker可以使用NVIDIA容器运行时。

验证

最后重启docker

sudo systemctl restart docker

输入命令验证安装是否成功

sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi

显示内容如下

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 535.86.10    Driver Version: 535.86.10    CUDA Version: 12.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla T4            On   | 00000000:00:1E.0 Off |                    0 |
| N/A   34C    P8     9W /  70W |      0MiB / 15109MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

参考

<think>好的,用户需要的是在Linux环境下离线安装DockerNVIDIA Container Toolkit的指南。首先,我得确认离线安装的具体步骤,因为通常这些工具需要在线下载依赖包,但用户可能没有网络连接。 首先处理Docker的离线安装。通常,Docker安装需要添加仓库,然后使用apt或yum安装,但离线情况下需要先在有网络的机器上下载所有依赖包。用户可能需要下载.deb或.rpm文件,然后传输到目标机器安装。我需要确定Docker的离线包如何获取,比如从官方下载地址或者镜像站点。另外,还要考虑系统架构和版本,比如Ubuntu、CentOS的不同处理方式。 然后是NVIDIA Container Toolkit的离线安装。根据引用中的信息,NVIDIA Container Toolkit安装通常需要添加仓库和apt安装,但离线情况下同样需要下载所有相关的包。可能需要先下载nvidia-container-toolkit的.deb文件及其依赖,比如libnvidia-container等。此外,还需要配置daemon.json,这部分和在线安装类似,但需要确保所有步骤都能离线完成。 接下来,用户可能需要设置Docker的存储库,即使离线,也需要手动创建repo文件。不过,如果完全离线,可能直接安装下载好的包即可,不需要配置仓库源。需要分步骤说明如何下载、传输和安装这些包。 还要注意安装后的配置步骤,比如将用户加入docker组,验证安装是否成功,以及测试NVIDIA Container Toolkit是否正常工作。这部分可能需要运行nvidia-smi命令,但离线环境下需要确保CUDA基础镜像已经提前下载并导入到Docker中。或者用户可能需要自己构建一个离线镜像。 另外,用户可能遇到的问题包括依赖项缺失、版本不兼容、服务启动失败等,需要给出常见问题的解决方法,比如检查依赖、确认包版本、手动启动服务等。 最后,生成相关问题时要围绕离线安装可能遇到的扩展问题,比如如何更新、处理依赖、创建本地仓库等,帮助用户进一步解决问题。</think>### Linux环境下DockerNVIDIA Container Toolkit离线安装指南 #### 一、Docker离线安装步骤 1. **下载离线包** 在有网络的机器上执行以下操作: ```bash # 下载docker-ce及相关依赖 apt-get download docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin ``` 生成的`.deb`文件将保存在当前目录,需复制到目标机器。 *注意:需根据系统架构(amd64/arm64)选择对应版本* 2. **安装Docker** 在目标机器执行: ```bash sudo dpkg -i *.deb sudo systemctl enable docker ``` 3. **验证安装** ```bash sudo docker run hello-world ``` #### 二、NVIDIA Container Toolkit离线安装 1. **下载离线组件** 从[NVIDIA Container Toolkit镜像仓库](https://gitcode.com/gh_mirrors/nv/nvidia-container-toolkit)[^2]获取以下组件: - libnvidia-container - nvidia-container-toolkit - nvidia-container-runtime 2. **手动安装(以Ubuntu为例)** ```bash # 按顺序安装依赖 sudo dpkg -i libnvidia-container*.deb sudo dpkg -i nvidia-container-toolkit*.deb ``` 3. **配置Docker** ```bash sudo tee /etc/docker/daemon.json <<EOF { "runtimes": { "nvidia": { "path": "/usr/bin/nvidia-container-runtime", "runtimeArgs": [] } } } EOF sudo systemctl restart docker ``` #### 三、离线验证GPU支持 ```bash # 需提前下载CUDA基础镜像并导入 sudo docker load -i cuda11.0-base.tar sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi ``` #### 常见问题处理 - **依赖缺失错误**:使用`apt-get download`补全缺少的依赖包 - **版本冲突**:通过`dpkg -l | grep nvidia`检查已安装版本 - **服务启动失败**:执行`journalctl -u docker.service`查看日志
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值