
下载https://github.com/NVIDIA/libnvidia-container/blob/gh-pages/stable/deb/amd64/nvidia-container-toolkit_1.17.0-1_amd64.deb在 Ubuntu 22.04 上安装 Docker Engine 的标准方法是使用 Docker 的官方 apt 仓库。这种方式能确保你获得最新且最安全的版本也方便后续的升级维护。以下是完整的安装步骤请在你的终端中逐条执行。### 第一步准备工作在安装新版本前建议先移除系统中可能存在的旧版 Docker 相关包。1. **更新软件包列表**bashsudo apt update2. **安装必要的依赖**这些软件包允许 apt 通过 HTTPS 使用仓库。bashsudo apt install apt-transport-https ca-certificates curl software-properties-common -y3. **卸载可能冲突的旧包**运行以下命令移除旧版本的 Docker 或其他冲突的容器运行时。bashfor pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done apt-get 可能会提示其中某些软件包未安装这是正常的。### 第二步添加 Docker 官方仓库这一步会为系统添加 Docker 的官方 GPG 密钥和软件源。1. **添加 Docker 的官方 GPG 密钥**bash# 创建存放密钥的目录如果不存在sudo install -m 0755 -d /etc/apt/keyrings# 下载并安装 GPG 密钥sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascsudo chmod ar /etc/apt/keyrings/docker.asc2. **添加 Docker 仓库到 APT 源**这个命令会自动检测你的 Ubuntu 版本Jammy 22.04并添加对应的仓库。echo deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release echo $UBUNTU_CODENAME) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/nullbashecho \deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \$(. /etc/os-release echo ${UBUNTU_CODENAME:-$VERSION_CODENAME}) stable | \sudo tee /etc/apt/sources.list.d/docker.list /dev/null3. **更新软件包索引**更新 apt 软件包列表使其包含新添加的 Docker 仓库中的软件包。bashsudo apt update **注意**如果你使用的是国内服务器可能会遇到连接官方仓库速度慢的问题。可以考虑将 https://download.docker.com/linux/ubuntu 替换为国内镜像源如阿里云 http://mirrors.aliyun.com/docker-ce/linux/ubuntu。### 第三步安装 Docker Engine现在可以正式安装 Docker 及其核心组件了。1. **安装最新版本的 Docker 及相关插件**这条命令会安装 Docker Engine、命令行工具、容器运行时以及构建和编排插件。bashsudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y2. **验证安装是否成功**运行 hello-world 镜像。如果安装正确你会看到一条欢迎消息并显示 Hello from Docker!。bashsudo docker run hello-world3. **查看 Docker 版本**安装完成后可以查看版本信息来确认。bashdocker --version### ⚙️ 第四步后续配置重要为了避免每次使用 Docker 命令时都要输入 sudo可以将当前用户添加到 docker 用户组。1. **创建 docker 组**通常安装时会自动创建但执行一下无妨bashsudo groupadd docker2. **将你的用户添加到 docker 组**将 $USER 替换成你的用户名或者直接使用下面的命令。sudo usermod -aG docker $libashsudo usermod -aG docker $USER3. **生效组更改**你可以**注销并重新登录**或者运行以下命令使更改立即生效bashnewgrp docker4. **测试是否无需 sudo 即可运行**bashdocker run hello-world### 可选安装特定版本如果你想安装特定版本的 Docker而不是最新版可以按以下步骤操作1. **列出仓库中所有可用版本**bashapt-cache madison docker-ce输出示例docker-ce | 5:28.0.4-1~ubuntu.22.04~jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages...2. **安装指定版本**将 VERSION_STRING 替换为你从上一步结果中看到的版本字符串。bashVERSION_STRING5:28.0.4-1~ubuntu.22.04~jammysudo apt-get install docker-ce$VERSION_STRING docker-ce-cli$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin至此你已经成功在 Ubuntu 22.04 上安装了 Docker Engine。接下来就可以开始拉取镜像、运行容器了。在 Ubuntu 22.04 上安装 NVIDIA Container Toolkit 最标准的方法是使用 NVIDIA 官方提供的 APT 仓库。请根据下面的步骤在你的终端中逐条执行。### 第一步准备工作在开始安装之前请确保你的系统已经满足以下两个必要条件。1. **检查 NVIDIA 驱动**运行以下命令确认驱动已正确安装。你应该能看到类似下图的 GPU 信息列表。bashnvidia-smi **如果提示 command not found**说明 NVIDIA 驱动还未安装需要先完成驱动的安装。2. **检查 Docker 是否已安装并运行**你已经按照之前的指引安装了 Docker可以再次确认 Docker 服务正在运行。bashsudo systemctl status docker### 第二步安装 NVIDIA Container Toolkit请按照以下顺序执行命令添加 NVIDIA 的官方软件源并安装工具包。1. **添加 NVIDIA 软件源和 GPG 密钥**这组命令会下载 NVIDIA 的公钥并配置 APT 仓库。bash# 下载并添加 GPG 密钥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.list2. **更新软件包列表并安装**bash# 更新软件源缓存sudo apt-get update# 安装 NVIDIA Container Toolkitsudo apt-get install -y nvidia-container-toolkit### ⚙️ 第三步配置 Docker安装完成后需要让 Docker 的运行时知道可以使用 NVIDIA GPU。1. **配置 Docker 运行时**使用 nvidia-ctk 命令来自动完成 Docker 的配置。bashsudo nvidia-ctk runtime configure --runtimedocker2. **重启 Docker 服务**使刚才的配置生效。bashsudo systemctl restart docker### ✅ 第四步验证安装最后一步运行一个测试容器来确保一切正常。这个命令会尝试在容器内执行 nvidia-smi如果成功你会看到和第一步类似的 GPU 信息输出。bashdocker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi如果看到 NVIDIA 驱动的版本信息没有报错就说明安装和配置都成功了。### 可能遇到的问题1. **--gpus 选项不可用**如果在执行验证命令时出现 Unknown flag: --gpus 错误说明你安装的 Docker 版本可能过旧。可以通过安装 docker-ce 的最新版本来解决。2. **权限被拒绝**如果验证命令报错 permission denied可以尝试在命令前加 sudo 运行或者参考之前的指南将你的用户添加到 docker 组中。3. **国内网络问题**如果添加软件源或安装时遇到网络问题可以将 nvidia.github.io 替换为腾讯云等国内镜像源。完成以上所有步骤后你就可以正常使用需要 GPU 加速的 Docker 容器了。