安装Docker
1. 更新Ubuntu
sudo apt update
sudo apt upgrade
sudo apt full-upgrade
2. 安装docker的必要依赖
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
3. 添加docker GPG密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add –
4. 添加docker仓库
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# 更新apt
sudo apt update
# 安装docker
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 查看docker版本
sudo docker version
Ubuntu24.04 离线安装NVIDIA Container Toolkit
下载网址:https://github.com/NVIDIA/libnvidia-container/tree/gh-pages/stable/deb/amd64
版本:1.15.0-1_amd64.deb
libnvidia-container1_1.15.0-1_amd64.deb # 基础库包,提供了最基本的功能,其他包都依赖于它
libnvidia-container-tools_1.15.0-1_amd64.deb # 基础工具包,依赖于 libnvidia-container1
nvidia-container-toolkit-base_1.15.0-1_amd64.deb # 基础组件包,依赖于前面的包
nvidia-container-toolkit_1.15.0-1_amd64.deb # 主要的工具包,依赖于以上所有包
libnvidia-container1-dbg_1.15.0-1_amd64.deb # 调试符号包,只在调试问题时使用
libnvidia-container-dev_1.15.0-1_amd64.deb # 开发包,只在进行开发时使用
sudo dpkg -i libnvidia-container1_1.15.0-1_amd64.deb
sudo dpkg -i libnvidia-container-tools_1.15.0-1_amd64.deb
sudo dpkg -i nvidia-container-toolkit-base_1.15.0-1_amd64.deb
sudo dpkg -i nvidia-container-toolkit_1.15.0-1_amd64.deb
sudo systemctl restart docker
其他
参考官网教程即可,如果没有sudo权限,可以向管理员申请加入docker group,并取消sudo执行docker,后续命令执行就不需要sudo权限,管理员需要做如下配置:
sudo cat /etc/group | grep docker
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo chmod a+rw /var/run/docker.sock
sudo systemctl restart docker
拉取基础镜像
根据项目需要,从DockerHub挑选并拉取合适的基础镜像,以本人的实际项目为例,原始开发环境为【计划使用 docker 打包深度学习项目】
docker pull pytorch/pytorch:2.1.0-cuda12.1-cudnn8-runtime
失败可能是因为没有配置代理,可以使用代理【方法1】,也可以使用【方法2】其他网站提供的镜像源下载
【方法1】使用代理
1. 确认自己的代理地址
export https_proxy=http://127.0.0.1:7897 http_proxy=http://127.0.0.1:7897 all_proxy=socks5://127.0.0.1:7897
# 为 Docker daemon 配置代理,创建 systemd 的 drop-in 目录(如果不存在):
sudo mkdir -p /etc/systemd/system/docker.service.d
# 创建代理配置文件:
sudo tee /etc/systemd/system/docker.service.d/proxy.conf <<EOF
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7897"
Environment="HTTPS_PROXY=http://127.0.0.1:7897"
Environment="NO_PROXY=localhost,127.0.0.1,::1,.local"
EOF
# 重载 systemd 并重启 Docker:
sudo systemctl daemon-reload
sudo systemctl restart docker
# 验证 Docker 是否加载了代理:
sudo systemctl show –property=Environment docker
🚩再次拉取镜像
docker pull pytorch/pytorch:2.1.0-cuda12.1-cudnn8-runtime
【方法2】国内镜像拉取
网站:渡渡鸟镜像同步站
关键词搜索:pytorch/pytorch

2.1.0-cuda12.1-cudnn8-runtime: Pulling from pytorch/pytorch
7007490126ef: Pull complete
f030756bea58: Pull complete
002e0840847c: Pull complete
4f4fb700ef54: Pull complete
e991862a3134: Pull complete
Digest: sha256:e4aaefef0c96318759160ff971b527ae61ee306a1204c5f6e907c4b45f05b8a3
Status: Downloaded newer image for pytorch/pytorch:2.1.0-cuda12.1-cudnn8-runtime
docker.io/pytorch/pytorch:2.1.0-cuda12.1-cudnn8-runtime
拉取成功!
拉取下来后,查看已有镜像:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE curlimages/curl latest 8b6d9746a2db 5 weeks ago 22.7MB pytorch/pytorch 2.1.0-cuda12.1-cudnn8-runtime 1bfcece93725 2 years ago 7.2GB
运行容器并挂载 GPU
# 使用 –gpus all 参数来运行容器,并挂载所有可用的 GPU。同时进入容器内的交互式 shell:
docker run –gpus all -it swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/pytorch/pytorch:2.1.0-cuda12.1-cudnn8-runtime /bin/bash
# 出现下面提示符,成功启动并进入了容器!
root@0aa06c08209c:/workspace#
#检查 NVIDIA 驱动和 GPU 信息
nvidia-smi






