# 前提条件 - 系统:Ubuntu 22.04 - 架构:x86_x64 ## 安装必要工具 ```bash sudo apt update && sudo apt install -y ca-certificates curl gnupg lsb-release ``` ## 添加 Docker 的官方 GPG 密钥 先检查是否包含相关目录 ```bash ls /etc/apt/keyrings ``` 如果没有则创建 ```bash sudo install -m 0755 -d /etc/apt/keyrings ``` 下载并保存 ```bash curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg ``` ## 设置 Docker 仓库 ```bash echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` ## 更新并安装 ```bash sudo apt update ``` ```bash sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin ``` ```bash docker -v ``` ## 配置 Docker 代理服务(可选) ```bash sudo mkdir -p /etc/systemd/system/docker.service.d ``` ```bash sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf ``` ``` [Service] Environment="HTTP_PROXY=http://192.168.31.9:7890" Environment="HTTPS_PROXY=http://192.168.31.9:7890" Environment="NO_PROXY=localhost,127.0.0.1,::1,docker-registry.somecorporation.com" ``` ```bash sudo systemctl daemon-reload ``` ```bash sudo systemctl restart docker ``` 验证代理配置是否生效 ```bash sudo systemctl show --property=Environment docker ``` ## 配置 NVIDIA 容器环境(可选) 添加 NVIDIA 包仓库 ```bash curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit.gpg ``` ```bash 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.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list ``` ```bash sudo apt update ``` 安装 NVIDIA 容器工具包 ```bash sudo apt install -y nvidia-container-toolkit ``` 配置 NVIDIA 运行时 ```bash sudo nvidia-ctk runtime configure --runtime=docker ``` ```bash sudo systemctl restart docker ``` 测试是否能识别 ```bash docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu24.04 nvidia-smi ```