当前位置: 首页 > news >正文

如何在GPU上安装使用Docker

这里以Debian操作系统为例

Debian Docker 安装

Debian Docker 安装 | 菜鸟教程

卸载旧版本
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
使用官方安装脚本自动安装
 curl -fsSL https://get.docker.com -o get-docker.shsudo sh get-docker.sh
遇到报错

这块是cuda仓库的问题,阿里的处理了

apt命令解释
sudo apt update

更新本地软件包列表,让系统知道有哪些软件可以安装、更新、升级(只更新列表,不安装升级)

sudo apt upgrade

系统才会真正去下载并安装新版本

Nvidia Toolkit安装

NVIDIA 为容器环境(如 Docker)开发的工具集,让容器里的应用可以使用主机的 NVIDIA GPU 进行加速计算,比如用来训练深度学习模型

image-20250805175433289

Installing the NVIDIA Container Toolkit — NVIDIA Container Toolkit

Installing the NVIDIA Container Toolkit — NVIDIA Container Toolkit

# 安装必要的依赖
sudo apt-get install -y curl ca-certificates gnupg
# 清理旧的密钥和仓库配置(如有)
sudo rm -f /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo rm -f /etc/apt/trusted.gpg.d/nvidia-container-toolkit-keyring.gpg
# 添加NVIDIA官方GPG密钥(使用新的推荐方式)
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
# 添加适用于Debian Bookworm的仓库,这个结果可能不行,没测是啥
curl -s -L https://nvidia.github.io/libnvidia-container/debian/libnvidia-container.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 rm /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo nano /etc/apt/sources.list.d/nvidia-container-toolkit.list
在文件中添加以下内容(适用于Debian Bookworm):deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://nvidia.github.io/libnvidia-container/stable/debian11/amd64 /
deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://nvidia.github.io/libnvidia-container/experimental/debian11/amd64 /
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
sudo chmod 644 /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

本来是两行

deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://nvidia.github.io/libnvidia-container/stable/debian11/amd64 / deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://nvidia.github.io/libnvidia-container/experimental/debian11/amd64 /

但下面不稳定,所以注释掉

Docker使用

Overview — NVIDIA Container Toolkit

镜像拉取

当我们在本地主机上使用一个不存在的镜像时 Docker 就会自动下载这个镜像。如果我们想预先下载这个镜像,我们可以使用 docker pull 命令来下载它

docker pull \
modelscope-registry.cn-hangzhou.cr.aliyuncs.com/modelscope-repo/modelscope:ubuntu22.04-cuda12.1.0-py311-torch2.3.1-tf2.16.1-1.28.0
使用GPU启动访问容器
docker run -it --rm \
--gpus all \
modelscope-registry.cn-hangzhou.cr.aliyuncs.com/modelscope-repo/modelscope:ubuntu22.04-cuda12.1.0-py311-torch2.3.1-tf2.16.1-1.28.0 \
bash
不带GPU启动容器
docker run -it --rm \
modelscope-registry.cn-hangzhou.cr.aliyuncs.com/modelscope-repo/modelscope:ubuntu22.04-cuda12.1.0-py311-torch2.3.1-tf2.16.1-1.28.0 \
bash
测试容器能否正常使用python环境
vim test.py
import torch
# 创建一个 3x2 矩阵,未初始化
x = torch.empty(3, 2)
print(x)
# 创建一个0填充的矩阵,指定数据类型
x = torch.zeros(3, 2, dtype=torch.long)
print(x)
# 使用指定数据创建tensor
x = torch.tensor([3.2, 3])
print(x)
python环境下测试容器内GPU能否正常使用
 
python
import torch 
print(torch.cuda.is_available())
显示True即可

http://www.dtcms.com/a/318762.html

相关文章:

  • 【AI】——SpringAI通过Ollama本地部署的Deepseek模型实现一个对话机器人(二)
  • 用 tcpdump 捕获网络数据包
  • RTSP播放器技术详解:功能支持、平台覆盖与快速集成指南
  • PostgreSQL 强制索引:当重复数据让优化器“失明”时的解决方案
  • centos系统sglang单节点本地部署大模型
  • Sklearn 机器学习 数据降维PCA 自己实现PCA降维算法
  • 如何打造一支AI时代下的IT团队,为企业战略目标快速赋能
  • Java面试宝典:JVM的垃圾收集算法
  • MCU中的晶振(Crystal Oscillator)
  • 【Zephyr】02_从零教你开发芯片级ADC驱动(HAL层篇)
  • 每日五个pyecharts可视化图表-bars(6)
  • 嵌入式硬件中MOSFET基本原理与实现
  • 基于 Socket.IO 实现 WebRTC 音视频通话与实时聊天系统(Spring Boot 后端实现)
  • C语言中级_动态内存分配、指针和常量、各种指针类型、指针和数组、函数指针
  • MATLAB科研数据可视化
  • cuda编程笔记(13)--使用CUB库实现基本功能
  • 嵌入式硬件中MOSFET基本控制详解
  • 嵌入式硬件学习(十一)—— platform驱动框架
  • OpenAI 开源模型 GPT-OSS深度拆解:从1170亿参数到单卡部署,重构AI开源生态
  • 亚马逊采购风控突围:构建深度隐匿的环境安全体系
  • 360纳米AI、实在Agent、CrewAI与AutoGen……浅析多智能体协作系统
  • LabVIEW实验室测试框架
  • 《深入浅出 Django ORM:设计理念与惰性查询实现详解》
  • 炫酷圆形按钮调色器
  • 共识算法介绍
  • macOS 彻底卸载 Python 的完整指南
  • Mac+Chrome滚动截图
  • mac中多版本JDK配置和切换
  • 数据推荐|标贝科技方言自然对话数据集 构建语音交互新基建
  • 两种格式数据介绍——bin 、 yuv文件