ubuntu24.04安装docker(国内加速方法)

0 显卡驱动

我的操作系统是ubuntu 24.04

bash 复制代码
sudo apt-get remove --purge nvidia*

安装依赖

bash 复制代码
sudo apt-get update
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install make

确保lsmod | grep nouveau没有输出

按照NVIDIA官网更新最新驱动,采用网络安装的方式,也就是Network Repository enabled(amd64)

https://docs.nvidia.com/datacenter/tesla/driver-installation-guide/ubuntu.html#ubuntu-installation-local

● 使用Distribution: ubuntu2404

● 使用Network Repository Enabled (amd64)

● 使用Selecting a Branch or a Specific Driver version:590

● 使用Proprietary Kernel Modules

● 执行Post-installation Actions

1 安装docker和compose

假如系统里面有以前的ubuntu发行版本自带的docker

  1. 备份配置(强烈建议)
bash 复制代码
sudo cp -a /etc/docker/daemon.json /root/daemon.json.bak
  1. 停 Docker,并卸载 Ubuntu 自带 docker.io + compose 1.x(不要 purge)
bash 复制代码
sudo systemctl stop docker
sudo systemctl stop docker.socket
sudo systemctl stop docker.service
sudo systemctl disable --now docker.socket

确认

bash 复制代码
systemctl is-active docker.service docker.socket

看到都是 inactive/disabled 就可以继续卸载命令:

bash 复制代码
sudo apt remove -y docker.io docker-compose python3-compose
sudo apt purge -y docker.io
  1. 添加 Docker CE 仓库(阿里云镜像,keyring 方式)

解释一下,这里的阿里云镜像是安装过程的加速,不是docker pull里面的加速镜像

bash 复制代码
sudo apt update

sudo apt install -y ca-certificates curl gnupg

sudo install -m 0755 -d /etc/apt/keyrings

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

sudo chmod a+r /etc/apt/keyrings/docker.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update
  1. 安装 Docker CE + Compose Plugin
bash 复制代码
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
  1. 启动并验证(确认还是用你的 data-root)
bash 复制代码
sudo systemctl enable --now docker
docker --version
docker compose version
docker info | grep 'Docker Root Dir'
docker ps -a
docker images

你期望看到:Docker Root Dir: 自己指定的哪个

如果这里不是这个路径,优先检查自己定的路径否还在;必要时用备份恢复:

bash 复制代码
sudo cp -a /root/daemon.json.bak /etc/docker/daemon.json
sudo systemctl restart docker

另外补充一下,docker的配置在 /etc/docker/daemon.json 里面,可以vim编辑,比如data_root这个字段就是你的所有docker数据,比如镜像存储的地方,可以自定义。如果要配置docker pull的加速,可以添加

bash 复制代码
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://ccr.ccs.tencentyun.com",
    "https://cr.console.aliyun.com"
  ]

完整例子是

bash 复制代码
{
  "data-root": "/mnt/local_ssd_550/dockers",
  "default-runtime": "nvidia",
  "default-shm-size": "64G",
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://ccr.ccs.tencentyun.com",
    "https://cr.console.aliyun.com"
  ],
  "runtimes": {
    "nvidia": {
      "args": [],
      "path": "nvidia-container-runtime"
    }
  }
}
  1. 如果日后要更新
bash 复制代码
sudo apt update
sudo apt install --only-upgrade -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo systemctl restart docker
docker --version
docker compose version

2 安装nvidia container toolkit

  1. 安装前置工具
bash 复制代码
sudo apt-get update && sudo apt-get install -y --no-install-recommends curl gnupg2
  1. 添加 GPG 密钥
bash 复制代码
curl -fsSL https://mirrors.ustc.edu.cn/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
  1. 生成仓库列表(将 nvidia.github.io 替换为 mirrors.ustc.edu.cn
bash 复制代码
curl -s -L https://mirrors.ustc.edu.cn/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
  sed 's#deb https://nvidia.github.io#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://mirrors.ustc.edu.cn#g' | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
  1. 更新软件包列表
bash 复制代码
sudo apt-get update
  1. 安装 NVIDIA Container Toolkit(指定版本)
bash 复制代码
export NVIDIA_CONTAINER_TOOLKIT_VERSION=1.18.2-1
sudo apt-get install -y \
    nvidia-container-toolkit=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
    nvidia-container-toolkit-base=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
    libnvidia-container-tools=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
    libnvidia-container1=${NVIDIA_CONTAINER_TOOLKIT_VERSION}

如果想用最新版本

bash 复制代码
sudo apt-get install -y nvidia-container-toolkit

然后重启

bash 复制代码
sudo systemctl restart docker
  1. 配置 Docker
bash 复制代码
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
  1. 验证 GPU 支持
bash 复制代码
docker run -it --rm --gpus all ubuntu nvidia-smi
相关推荐
tellmewhoisi8 小时前
Docker Compose最巧妙的设计之一——内置的服务发现机制
docker·服务发现
AI服务老曹8 小时前
解耦异构算力:基于 Docker 与 GB28181/RTSP 的边缘计算 AI 视频管理平台架构设计(支持源码交付)
人工智能·docker·边缘计算
zizle_lin8 小时前
CentOS配置yum源
linux·运维·centos
志栋智能8 小时前
超自动化运维:如何降低人为错误?
大数据·运维·网络·人工智能·自动化
ai产品老杨8 小时前
深度解析:基于 Docker 与边缘计算的 AI 视频管理平台架构——打通 GB28181/RTSP 协议,支持全量源码交付与异构部署
人工智能·docker·边缘计算
武器大师729 小时前
从零开始在 Linux 上编译运行 lvgljs 图形界面项目
linux·运维·服务器
剑神一笑9 小时前
Linux free 命令深度解析:从内存监控到 OOM 排查的完整指南
linux·运维·服务器
蘑菇丁9 小时前
招聘大数据运维工程师(郑州)
大数据·运维
NiceCloud喜云9 小时前
Claude Code 跑 HyperFrames 实测:本地生成 AI 视频素材全流程
java·运维·人工智能·自动化·json·音视频·飞书
qq_312920119 小时前
服务器被攻击!完整安全加固清单汇总
运维·服务器·安全