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

【AI】openEuler 22.03 LTS SP4安装 docker NVIDIA Container Toolkit

NVIDIA Container Toolkit

打开网址

Unsupported distribution or misconfigured repository settings | NVIDIA Container Toolkit

为方便离线安装,先下载过来

wget https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo
mkdir rpms
yumdownloader --resolve --destdir=./rpms/ nvidia-container-toolkit

离线安装

# yum install ./*.rpm
Last metadata expiration check: 0:12:41 ago on Fri 21 Feb 2025 05:15:45 PM CST.
Dependencies resolved.
=================================================================================================================================================================Package                                              Architecture                  Version                            Repository                           Size
=================================================================================================================================================================
Installing:libnvidia-container-tools                            x86_64                        1.17.4-1                           @commandline                         40 klibnvidia-container1                                 x86_64                        1.17.4-1                           @commandline                        1.0 Mnvidia-container-toolkit                             x86_64                        1.17.4-1                           @commandline                        1.2 Mnvidia-container-toolkit-base                        x86_64                        1.17.4-1                           @commandline                        5.6 MTransaction Summary
=================================================================================================================================================================
Install  4 PackagesTotal size: 7.9 M
Installed size: 26 M
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transactionPreparing        :                                                                                                                                         1/1Installing       : nvidia-container-toolkit-base-1.17.4-1.x86_64                                                                                           1/4Installing       : libnvidia-container1-1.17.4-1.x86_64                                                                                                    2/4Running scriptlet: libnvidia-container1-1.17.4-1.x86_64                                                                                                    2/4Installing       : libnvidia-container-tools-1.17.4-1.x86_64                                                                                               3/4Installing       : nvidia-container-toolkit-1.17.4-1.x86_64                                                                                                4/4Running scriptlet: nvidia-container-toolkit-1.17.4-1.x86_64                                                                                                4/4Verifying        : libnvidia-container1-1.17.4-1.x86_64                                                                                                    1/4Verifying        : libnvidia-container-tools-1.17.4-1.x86_64                                                                                               2/4Verifying        : nvidia-container-toolkit-1.17.4-1.x86_64                                                                                                3/4Verifying        : nvidia-container-toolkit-base-1.17.4-1.x86_64                                                                                           4/4Installed:libnvidia-container-tools-1.17.4-1.x86_64                 libnvidia-container1-1.17.4-1.x86_64             nvidia-container-toolkit-1.17.4-1.x86_64nvidia-container-toolkit-base-1.17.4-1.x86_64Complete!

Docker

手动下载最新版本

https://download.docker.com/linux/static/stable/x86_64/docker-28.0.0.tgz

wget https://download.docker.com/linux/static/stable/x86_64/docker-28.0.0.tgz
[root@localhost media]# tar -xvf docker-28.0.0.tgz
docker/
docker/containerd-shim-runc-v2
docker/containerd
docker/docker
docker/runc
docker/ctr
docker/dockerd
docker/docker-init
docker/docker-proxy
[root@localhost media]# mv -v docker/* /usr/local/bin/
renamed 'docker/containerd' -> '/usr/local/bin/containerd'
renamed 'docker/containerd-shim-runc-v2' -> '/usr/local/bin/containerd-shim-runc-v2'
renamed 'docker/ctr' -> '/usr/local/bin/ctr'
renamed 'docker/docker' -> '/usr/local/bin/docker'
renamed 'docker/dockerd' -> '/usr/local/bin/dockerd'
renamed 'docker/docker-init' -> '/usr/local/bin/docker-init'
renamed 'docker/docker-proxy' -> '/usr/local/bin/docker-proxy'
renamed 'docker/runc' -> '/usr/local/bin/runc'
[root@localhost media]# ll docker
total 0
[root@localhost media]# ll /usr/local/bin/
total 206856
-rwxr-xr-x. 1 1000 1000 40415384 Feb 20 06:11 containerd
-rwxr-xr-x. 1 1000 1000 13299864 Feb 20 06:11 containerd-shim-runc-v2
-rwxr-xr-x. 1 1000 1000 20394136 Feb 20 06:11 ctr
-rwxr-xr-x. 1 1000 1000 41532216 Feb 20 06:11 docker
-rwxr-xr-x. 1 1000 1000 76647872 Feb 20 06:11 dockerd
-rwxr-xr-x. 1 1000 1000   708448 Feb 20 06:11 docker-init
-rwxr-xr-x. 1 1000 1000  2377328 Feb 20 06:11 docker-proxy
-rwxr-xr-x. 1 1000 1000 16426200 Feb 20 06:11 runc

创建  /usr/lib/systemd/system/docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash
Environment=GOTRACEBACK=crashExecStart=/usr/local/bin/dockerd $OPTIONS \$DOCKER_STORAGE_OPTIONS \$DOCKER_NETWORK_OPTIONS \$INSECURE_REGISTRY
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process[Install]
WantedBy=multi-user.target

nvidia-ctk配置runtime

[root@localhost media]# nvidia-ctk runtime configure --runtime=docker
INFO[0000] Config file does not exist; using empty config
INFO[0000] Wrote updated config to /etc/docker/daemon.json
INFO[0000] It is recommended that docker daemon be restarted.
[root@localhost media]# cat /etc/docker/daemon.json
{"runtimes": {"nvidia": {"args": [],"path": "nvidia-container-runtime"}}
}

启动Docker服务

[root@localhost media]# systemctl enable docker --now
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
[root@localhost ~]# docker info
Client:Version:    28.0.0Context:    defaultDebug Mode: falseServer:Containers: 0Running: 0Paused: 0Stopped: 0Images: 0Server Version: 28.0.0Storage Driver: overlay2Backing Filesystem: extfsSupports d_type: trueUsing metacopy: falseNative Overlay Diff: trueuserxattr: falseLogging Driver: json-fileCgroup Driver: cgroupfsCgroup Version: 1Plugins:Volume: localNetwork: bridge host ipvlan macvlan null overlayLog: awslogs fluentd gcplogs gelf journald json-file local splunk syslogSwarm: inactiveRuntimes: nvidia runc io.containerd.runc.v2Default Runtime: runcInit Binary: docker-initcontainerd version: bcc810d6b9066471b0b6fa75f557a15a1cbf31bbrunc version: v1.2.5-0-g59923efinit version: de40ad0Security Options:seccompProfile: builtinKernel Version: 5.10.0-216.0.0.115.oe2203sp4.x86_64Operating System: openEuler 22.03 (LTS-SP4)OSType: linuxArchitecture: x86_64CPUs: 128Total Memory: 30.46GiBName: localhost.localdomainID: e146eb60-c3e3-41d9-bf61-71e7cd5707f9Docker Root Dir: /var/lib/dockerDebug Mode: falseExperimental: falseInsecure Registries:::1/128127.0.0.0/8Live Restore Enabled: falseProduct License: Community Engine

验证Docker nvidia-smi

随便找个镜像,采用--gpus=all参数执行nvidia-smi,如果不配置--gpus参数,容器内没有注入nvidia-smi指令

[root@localhost ollama]# docker run --rm -it ubuntu:22.04 nvidia-smi -l 1
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: exec: "nvidia-smi": executable file not found in $PATH: unknownRun 'docker run --help' for more information
[root@localhost ollama]# docker run --rm -it --gpus=all ubuntu:22.04 nvidia-smi -l 1
Fri Feb 21 10:08:47 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 570.86.10              Driver Version: 570.86.10      CUDA Version: 12.8     |
|-----------------------------------------+------------------------+----------------------+
| 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:0C:00.0 Off |                  Off |
| 30%   27C    P8             18W /  450W |    8173MiB /  24564MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   1  NVIDIA GeForce RTX 4090        Off |   00000000:25:00.0 Off |                  Off |
| 30%   28C    P8             28W /  450W |    7821MiB /  24564MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   2  NVIDIA GeForce RTX 4090        Off |   00000000:32:00.0 Off |                  Off |
| 30%   27C    P8              5W /  450W |    7821MiB /  24564MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   3  NVIDIA GeForce RTX 4090        Off |   00000000:45:00.0 Off |                  Off |
| 30%   27C    P8             30W /  450W |    7821MiB /  24564MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   4  NVIDIA GeForce RTX 4090        Off |   00000000:58:00.0 Off |                  Off |
| 30%   28C    P8             18W /  450W |    7327MiB /  24564MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   5  NVIDIA GeForce RTX 4090        Off |   00000000:84:00.0 Off |                  Off |
| 30%   28C    P8             21W /  450W |    7327MiB /  24564MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   6  NVIDIA GeForce RTX 4090        Off |   00000000:D4:00.0 Off |                  Off |
| 30%   28C    P8             22W /  450W |    8009MiB /  24564MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------++-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+
Fri Feb 21 10:08:49 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 570.86.10              Driver Version: 570.86.10      CUDA Version: 12.8     |
|-----------------------------------------+------------------------+----------------------+

参考 

nstalling the NVIDIA Container Toolkit — NVIDIA Container Toolkit

相关文章:

【AI】openEuler 22.03 LTS SP4安装 docker NVIDIA Container Toolkit

NVIDIA Container Toolkit 打开网址 Unsupported distribution or misconfigured repository settings | NVIDIA Container Toolkit 为方便离线安装,先下载过来 wget https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo mk…...

【2025全网首发B站教程】YOLOv12训练数据集构建:标签格式转换-划分-YAML 配置 避坑指南 | 小白也能轻松玩转目标检测!

【2025全站首发】YOLOv12训练数据集构建:标签格式转换-划分-YAML 配置 避坑指南 | 小白也能轻松玩转目标检测! 文章目录 1. 数据集准备1.1 标签格式转换1.2 数据集划分1.3 yaml配置文件创建 2. 训练验证 1. 数据集准备 示例数据集下载链接:P…...

设计模式教程:中介者模式(Mediator Pattern)

中介者模式是一种行为型设计模式,它用于减少对象之间的直接依赖关系。通过引入一个中介者对象,所有对象的交互都通过中介者进行,而不是直接相互通信。这种模式的主要目的是减少对象之间的耦合,提升系统的灵活性和可维护性。 1. 定…...

编写dockercompose脚本,管理redis,activemq,mysql5.7

编写dockercompose脚本,管理redis,activemq,mysql5.7,mysql的root密码设置Duke2007,redis密码设置duke0591 Docker Compose 多服务编排脚本(安全增强版) yaml 复制 services: # # MySQL 5.7 服务配置 #…...

【编程语言】委托与函数指针

委托与函数指针的相似之处: 指向方法:C# 的委托和 C 的函数指针都可以用来指向一个方法或函数。调用方法:它们都可以通过引用(委托或函数指针)来调用指向的方法。 委托与函数指针的主要区别: 类型安全&am…...

基于vue和微信小程序的校园自助打印系统(springboot论文源码调试讲解)

第3章 系统设计 3.1系统功能结构设计 本系统的结构分为管理员和用户、店长。本系统的功能结构图如下图3.1所示: 图3.1系统功能结构图 3.2数据库设计 本系统为小程序类的预约平台,所以对信息的安全和稳定要求非常高。为了解决本问题,采用前端…...

数字后端实现之Innovus中open net原因解析及解决方案

数字IC后端设计实现Innovus中我们经常会碰到如下的WARNING警告信息。这个log是在route或ECO Route阶段报的。这个WARNING必须要看,因为这里是报告当前设计存在open的net,即某些pin只有逻辑连接,而没有实际的物理连接。 这里正常工具应该报ERR…...

MATLAB基础学习相关知识

MATLAB安装参考:抖音-记录美好生活 MATLAB基础知识学习参考:【1小时Matlab速成教程-哔哩哔哩】 https://b23.tv/CnvHtO3 第1部分:变量定义和基本运算 生成矩阵: % 生成矩阵% 直接法% ,表示行 ;表示列 a [1,2,3;4,5,6;7,8,9];%…...

Mac系统下使用Docker快速部署MaxKB:打造本地知识库问答系统

随着大语言模型的广泛应用,知识库问答系统逐渐成为提升工作效率和个人学习的有力工具。MaxKB是一款基于LLM(Large Language Model)大语言模型的知识库问答系统,支持多模型对接、文档上传和自动爬取等功能。本文将详细介绍如何在Ma…...

RT-Thread+STM32L475VET6——icm20608传感器

文章目录 前言一、板载资源二、具体步骤1.打开CubeMX进行配置1.1 使用外部高速时钟,并修改时钟树1.2 打开I2C3,参数默认即可(I2C根据自己需求调整)1.3 打开串口1.4 生成工程 2. 添加icm20608软件包3. 使能传感器,打开动态链接库4.…...

【信息系统项目管理师-案例真题】2022下半年案例分析答案和详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 试题一(24分)【问题1】(6分)【问题2】(10分)【问题3】(8分)试题二(26分)【问题1】(8分)【问题2】(8分)【问题3】(4分)【问题4】(6分)试题三(25分)【问题1】(12分)【问题2】(7分)【问题…...

3D机器视觉工业3D图像格式常见的格式

工业3D图像格式主要用于存储和交换三维模型数据,常见的格式包括: STL (Stereolithography) 用途: 3D打印和快速成型。 特点: 存储三角面片信息,文件较小,但不包含颜色和材质数据。STEP (Standard for the Exchange of Product Data) 用途: CAD数据交换。 特点: 支持几何、拓…...

SkyWalking集成Kafka实现日志异步采集经验总结

SkyWalking日志异步采集架构 【重点知识】 1、【Agent】kafka-reporter-plugin-x.x.x.jar包放plugins目录后必走kafka(kafka没有正确配置就会报错) 2、【Agent】异步如不开启数据压缩,日志数据较大,pod多、业务大时容易造成网络…...

Java知识点——IO流

目录 一、IO流基础概念 二、常见的IO流类 三、字符流 1.字符输入流(Reader)与字符输出流(Writer) 2.常用实现类 3.实例 四、字节流 1.字节输入流(InputStream)与字节输出流(OutputStrea…...

uniapp h5端和app端 使用 turn.js

前提:添加页后,添加页与当前页会重叠在一起,不知道为什么,没有找到解决办法 1.h5端 <template><view class"container"><view id"flipbook"><view class"page page1">Page 1</view><view class"page pag…...

使用大语言模型(Deepseek)构建一个基于 SQL 数据的问答系统

GitHub代码仓库 架构 从高层次来看&#xff0c;这些系统的步骤如下&#xff1a; 将问题转换为SQL查询&#xff1a;模型将用户输入转换为SQL查询。 执行SQL查询&#xff1a;执行查询。 回答问题&#xff1a;模型根据查询结果响应用户输入。 样本数据 下载样本数据&#xf…...

时间转换(acwing)c/c++/java/python

读取一个整数值&#xff0c;它是工厂中某个事件的持续时间&#xff08;以秒为单位&#xff09;&#xff0c;请你将其转换为小时&#xff1a;分钟&#xff1a;秒来表示。 输入格式 输入一个整数 NN。 输出格式 输出转换后的时间表示&#xff0c;格式为 hours:minutes:second…...

连接Sql Server时报错无法通过使用安全套接字层加密与 SQL Server 建立安全连接

文章目录 一. 前言二. 解决方案 方案1方案2 三. 总结 一. 前言 在《数据库原理》这门课的实验上&#xff0c;需要使用SQL Server&#xff0c;然后使用jdbc连接sql server突然报错为&#xff1a;SQLServerException: “Encrypt”属性设置为“true”且 “trustServerCertific…...

基于CNN的FashionMNIST数据集识别3——模型验证

源码 import torch import torch.utils.data as Data from torchvision import transforms from torchvision.datasets import FashionMNIST from model import LeNetdef test_data_process():test_data FashionMNIST(root./data,trainFalse,transformtransforms.Compose([tr…...

go channel 的用法和核心原理、使用场景

一、Channel 的核心用法 1. 基本操作 // 创建无缓冲 Channel&#xff08;同步通信&#xff09; ch : make(chan int) // 创建有缓冲 Channel&#xff08;容量为5&#xff0c;异步通信&#xff09; bufferedCh : make(chan int, 5) // 发送数据到 Channel ch <- 42 // 从…...

AI+3D赋能文科教学:15个可直接使用的高质量可视化Prompt(历史/地理/文化)

在大多数人的认知中&#xff0c;3D可视化、WebGL、Three.js 这些技术似乎更多应用于理科领域&#xff0c;比如物理模拟、数学建模等。但实际上&#xff0c;随着 AI 生成能力的发展&#xff0c;文科内容同样可以通过 3D 交互的方式进行重构&#xff0c;实现更直观、更沉浸的学习…...

轻量的C++命令行交互器2.0

上次写了一个C命令行交互器&#xff08;基于GNU g&#xff09;&#xff0c;简介看上一篇文章。这次主要增加一点新功能和修复bug。新功能&#xff1a;1.上下键回溯&#xff0c;回溯的内容仅限已经输入并使用回车提交的内容&#xff0c;可在普通模式、全模式、半编辑器模式&…...

P-MAPS技术:动态安全边界与硬件级内存保护实践

1. P-MAPS技术背景与核心挑战在移动计算领域&#xff0c;安全威胁正呈现指数级增长态势。根据最新的安全研究报告&#xff0c;针对移动设备的恶意软件攻击在2023年同比增长了58%&#xff0c;其中针对金融应用和数据窃取的定向攻击占比高达73%。传统基于签名的反病毒方案在面对零…...

掌握BigImageViewer:自定义图像加载器与工厂模式的完整指南

掌握BigImageViewer&#xff1a;自定义图像加载器与工厂模式的完整指南 【免费下载链接】BigImageViewer Big image viewer supporting pan and zoom, with very little memory usage and full featured image loading choices. Powered by Subsampling Scale Image View, Fres…...

精准控制每一像素:WindowResizer 让Windows窗口管理更自由

精准控制每一像素&#xff1a;WindowResizer 让Windows窗口管理更自由 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 还在为Windows窗口尺寸限制而烦恼吗&#xff1f;当老旧软件窗…...

AI Agent 开发的工业化道路:Harness 架构深度解析

1. 引言&#xff1a;从提示词工程到系统工程的范式转移在 AI Agent 迈向生产环境的过程中&#xff0c;开发者往往会陷入“提示词迷思”&#xff0c;试图通过无限堆砌 Prompt 来覆盖业务边界。然而&#xff0c;由于大模型本质上的概率性&#xff0c;纯粹的提示词工程在面对长链条…...

Java Loom响应式改造必踩的5个安全雷区:从Project Loom Beta到生产级落地的零信任实践

第一章&#xff1a;Java Loom响应式改造必踩的5个安全雷区&#xff1a;从Project Loom Beta到生产级落地的零信任实践线程局部变量&#xff08;ThreadLocal&#xff09;在虚拟线程中的隐式泄漏 Project Loom 的虚拟线程复用机制会导致 ThreadLocal 实例跨请求残留。若未显式清理…...

Kaggle房价预测:用Pandas和Seaborn做数据分析,这10个坑新手最容易踩

Kaggle房价预测&#xff1a;数据分析新手避坑指南 第一次接触Kaggle的房价预测比赛时&#xff0c;我被数据里隐藏的陷阱绊倒了好几次。记得当时信心满满地提交了第一版预测结果&#xff0c;排名却惨不忍睹——问题就出在最基础的数据分析环节。这篇文章不是教你按部就班地做数据…...

深入解析GMGridView:5种手势交互的完整实现原理

深入解析GMGridView&#xff1a;5种手势交互的完整实现原理 【免费下载链接】GMGridView A performant Grid-View for iOS (iPhone/iPad) that allows sorting of views with gestures (the user can move the items with his finger to sort them) and pinching/rotating/pann…...

别再只用SysTick了!用GD32F103的TIMER1实现更灵活的1ms延时(附完整代码)

突破SysTick限制&#xff1a;GD32F103定时器高阶延时方案实战 在嵌入式开发中&#xff0c;精确的延时控制如同系统的心跳&#xff0c;而SysTick作为ARM内核标配的简易定时器&#xff0c;常被开发者当作默认选择。但当我们面对多任务调度、可变频率延时或复杂时序控制时&#xf…...