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

容器运行时支持GPU,并使用1panel安装ollama

前言

安装Docker请看之前博文:Docker实战中1panel方式安装Docker。

安装 NVIDIA 容器工具包

https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html

安装

先决条件

  1. 阅读有关平台支持的部分。
  2. 为您的 Linux 发行版安装 NVIDIA GPU 驱动程序。NVIDIA 建议使用发行版对应的软件包管理器安装驱动程序。有关使用软件包管理器安装驱动程序的信息,请参阅NVIDIA 驱动程序安装快速入门指南。或者,您也可以通过下载安装程序来安装驱动程序.run
    在使用 cgroup 驱动程序的系统上存在一个已知问题,systemd该问题会导致容器在运行时失去对所请求 GPU 的访问权限 。请参阅故障排除文档了解更多信息。systemctl daemon reload

使用apt:Ubuntu,Debian(不可用)

  1. 配置生产存储库:
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.list

(可选)配置存储库以使用实验包:

sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list
  1. 从存储库更新软件包列表:
sudo apt-get update
  1. 安装 NVIDIA Container Toolkit 软件包:
export NVIDIA_CONTAINER_TOOLKIT_VERSION=1.17.8-1sudo 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}

很不幸,结果报错:

错误:7 [https://nvidia.github.io/libnvidia-container/stable/deb/amd64](https://nvidia.github.io/libnvidia-container/stable/deb/amd64) InRelease Could not handshake: Error in the pull function. [IP: 185.199.110.153 443] 
错误:8 [https://nvidia.github.io/libnvidia-container/experimental/deb/amd64](https://nvidia.github.io/libnvidia-container/experimental/deb/amd64) InRelease Could not handshake: Error in the pull function. [IP: 185.199.110.153 443] 正在读取软件包列表... 完成 
W: 无法下载 [https://nvidia.github.io/libnvidia-container/stable/deb/amd64/InRelease](https://nvidia.github.io/libnvidia-container/stable/deb/amd64/InRelease) Could not handshake: Error in the pull function. [IP: 185.199.110.153 443] 
W: 无法下载 [https://nvidia.github.io/libnvidia-container/experimental/deb/amd64/InRelease](https://nvidia.github.io/libnvidia-container/experimental/deb/amd64/InRelease) Could not handshake: Error in the pull function. [IP: 185.199.110.153 443] 
W: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。 

下载deb后安装(可用)

  1. 首先查看上面安装命令里面的这个链接
    https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list
deb https://nvidia.github.io/libnvidia-container/stable/deb/$(ARCH) /
#deb https://nvidia.github.io/libnvidia-container/experimental/deb/$(ARCH) /
  1. 点进去https://nvidia.github.io/libnvidia-container/stable/deb
    页面显示Unsupported distribution or misconfigured repository settings

  2. 在这个页面找到GitHub Pages repository structure

  • stable/deb: https://github.com/NVIDIA/libnvidia-container/tree/gh-pages/stable/deb
  • experimental/deb: https://github.com/NVIDIA/libnvidia-container/tree/gh-pages/experimental/deb
  • stable/rpm: https://github.com/NVIDIA/libnvidia-container/tree/gh-pages/stable/rpm
  • experimental/rpm: https://github.com/NVIDIA/libnvidia-container/tree/gh-pages/experimental/rpm
  1. 好嘛,找到老巢了
    https://github.com/NVIDIA/libnvidia-container/tree/gh-pages/stable/deb/amd64

  2. 下载下面几个文件,安装即可

sudo dpkg -i nvidia-container-toolkit_1.17.7-1_amd64.deb nvidia-container-toolkit-base_1.17.7-1_amd64.deb libnvidia-container1_1.17.7-1_amd64.deb libnvidia-container-tools_1.17.7-1_amd64.deb

配置

先决条件

  • 您安装了受支持的容器引擎(Docker、Containerd、CRI-O、Podman)。
  • 您安装了 NVIDIA Container Toolkit。

配置Docker

  1. 使用以下nvidia-ctk命令配置容器运行时:
sudo nvidia-ctk runtime configure --runtime=docker

nvidia-ctk命令会修改/etc/docker/daemon.json主机上的文件。该文件已更新,以便 Docker 可以使用 NVIDIA 容器运行时。

{"runtimes": {"nvidia": {"args": [],"path": "nvidia-container-runtime"}}
}
  1. 重新启动 Docker 守护进程:
sudo systemctl restart docker

配置 containerd(用于 Kubernetes)

  1. 使用以下nvidia-ctk命令配置容器运行时:
sudo nvidia-ctk runtime configure --runtime=containerd

nvidia-ctk命令会修改/etc/containerd/config.toml主机上的文件。该文件已更新,以便 containerd 可以使用 NVIDIA 容器运行时。

  1. 重启containerd:
sudo systemctl restart containerd

运行示例工作负载

https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/sample-workload.html

安装和配置工具包并安装 NVIDIA GPU 驱动程序后,您可以通过运行示例工作负载来验证您的安装。

  • 运行示例 CUDA 容器:
sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi

您的输出应类似于以下输出:

Thu Aug 14 13:54:11 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 575.64.03              Driver Version: 575.64.03      CUDA Version: 12.9     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 4090        Off |   00000000:01:00.0  On |                  Off |
| 31%   37C    P8             34W /  450W |    1280MiB /  24564MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------++-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

1panel安装docker版ollama

从应用商店安装

  1. 端口外部访问勾选上
  2. GPU配置如下:
reservations:devices:- capabilities:- gpucount: alldriver: nvidia
  1. 模型挂载换了下路径:
volumes:- /home/d/.ollama:/root/.ollama

在这里插入图片描述

GPU监控

很是方便,妈妈再也不用担心忘记敲:nvidia-smi
在这里插入图片描述

模型

之前写过一篇直接安装ollama的博文:使用ollama部署本地大模型(没有GPU也可以),实现IDEA和VS Code的git commit自动生成,其中模型位置:/usr/share/ollama/.ollama/models
在docker挂载中改为了/home/d/.ollama/models,点击从服务器同步即可
在这里插入图片描述

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

相关文章:

  • 将 pdf 转为高清 jpg
  • 数巅中标中建科技AI知识库项目,开启建筑业数智化新篇章
  • CSS aspect-ratio 属性
  • Multimodal RAG Enhanced Visual Description
  • Linux 对 RPM 包的管理
  • 19 ABP Framework 本地化系统
  • hashmap和concurrentHashmap是否允许null值和null健
  • PiscCode使用光流法计算漂浮物位移速度
  • 把 AI 推理塞进「 8 位 MCU 」——0.5 KB RAM 跑通关键词唤醒的魔幻之旅
  • 监控插件SkyWalking(一)原理
  • 嵌入式学习的第四十九天-时钟+EPIT+GPT定时器
  • 无人机探测器技术解析
  • 阿里巴巴 Qwen-Image:免费开源,还要挑战 GPT-4.1 和 Midjourney?
  • 恢复GPT-4o,增加付费配额:OpenAI的“补救措施”如何重塑用户金字塔
  • OpenCV ------图像基础处理(一)
  • 【OpenCV】Mat详解
  • 论,物联网日志系统架构如何设计?
  • AI增强SEO关键词表现
  • Postman 平替 技术解析:架构优势与实战指南
  • 审批流程系统设计与实现:状态驱动、灵活扩展的企业级解决方案
  • Java研学-RabbitMQ(八)
  • Rabbitmq+STS+discovery_k8s +localpv部署排坑详解
  • 队列的使用以及泛型思考[二叉树的层序遍历]
  • 【P27 4-8】OpenCV Python——Mat类、深拷贝(clone、copyTo、copy)、浅拷贝,原理讲解与示例代码
  • Horse3D游戏引擎研发笔记(五):在QtOpenGL环境下,仿three.js的BufferGeometry管理VAO和EBO绘制四边形
  • 算法训练营day51 图论② 岛屿数量深搜、广搜、最大面积
  • 图论(5)最小生成树算法
  • Claude Code 国内直接使用,原生支持 Windows 免WSL安装教程
  • Day56--图论--108. 冗余的边(卡码网),109. 冗余的边II(卡码网)
  • Day58--图论--117. 软件构建(卡码网),47. 参加科学大会(卡码网)