英伟达Docker 安装与GPu镜像拉取
- 获取nvidia_docker压缩包nvidia_docker.tgz
- 将压缩包上传至服务器指定目录
- 解压nvidia_docker.tgz压缩包
tar -zxvf 压缩包
- 执行rpm安装命令:
#查看指定rpm包安装情况
rpm -qa | grep libstdc++
#查看指定rpm包下的依赖包的版本情况
strings /lib64/libstdc++ |grep GLIBCXX
#安装rpm包
rpm -ivh rpm包路径
#升级rpm包
rpm -Uvh rpm包路径
#卸载rpm包
rpm -e rpm包路径
#yum命令安装--配置好yum网络源或者本地源url的情况
yum install container-selinux-2.205.0-2.al8.noarch
#yum卸载命令
yum remove container-selinux-2.205.0-2.al8.noarch
rpm -ivh libnvidia-container1-1.2.0-1.x86_64.rpm libnvidia-container-tools-1.2.0-1.x86_64.rpm nvidia-container-toolkit-1.2.1-2.x86_64.rpm nvidia-container-runtime-3.3.0-1.x86_64.rpm libcgroup-0.41-21.el7.x86_64.rpm containerd.io-1.2.13-3.2.el7.x86_64.rpm docker-ce-cli-19.03.12-3.el7.x86_64.rpm docker-ce-19.03.12-3.el7.x86_64.rpm nvidia-docker2-2.4.0-1.noarch.rpm
- 如果报错:
error: Failed dependencies:container-selinux >= 2:2.74 is needed by containerd.io-1.2.13-3.2.el7.x86_64container-selinux >= 2:2.74 is needed by docker-ce-3:19.03.12-3.el7.x86_64
需要先安装版本不冲突的rpm包:
yum install container-selinux-2.205.0-2.al8.noarch
,然后再执行第四步
- 拉取nvidia的GPU镜像文件:
docker pull pai-light-registry.cn-beijing.cr.aliyuncs.com/prod/pytorch-training:23.08-gpu-py310-cu122-ubuntu22.04
7.如果报错如下:
write /var/lib/docker/tmp/GetImageBlob139943065: no space left on device
原因:磁盘空间不够,大概率是因为docker数据所在目录的分区空间不够
定位:
- 查看docker的数据目录分区的空间使用情况,一般docker目录在/var/lib/docker下
df -h /var/lib/docker
可以看到显示结果如下,已使用99%,不够镜像存储空间:
解决办法:更改docker的数据目录到更大空间的目录下
- 查看磁盘分区的分布情况,寻找一个空间比较充足的分区
lsblk
2.将原有的docker数据目录迁移到新的docker数据目录
2.1 先停止docker服务
sudo systemctl stop docker
2.2 使用 rsync 命令同步旧的数据目录到新的位置。务必保留原始文件属性和权限
sudo rsync -aP /var/lib/docker/ /new/path/docker/
2.3 配置 Docker 使用新的数据目录:1. 首先修改/etc/docker/daemon.json 配置文件,新增配置项:
{"data-root": "/new/path/docker"}
实际的nvidia_docker的配置形式不同:
{"runtimes": {"nvidia": {"path": "nvidia-container-runtime","data-root":"/home/docker","runtimeArgs": []}}
}
2. 修改 docker.service 文件,一般路径:
/usr/lib/systemd/system/docker.service
ExecStart属性增加参数指定docker数据目录: --data-root: /home/docker
ExecStart=/usr/bin/dockerd -H fd:// --data-root /home/docker --containerd=/run/containerd/containerd.sock
3. 重新加载系统守护进程并重启 Docker 服务:
sudo systemctl daemon-reload
4. 重新启动docker的服务
sudo systemctl start docker
5. 检查 Docker 是否使用了新的数据目录,并确保一切正常运行
docker info | grep 'Docker Root Dir'
- 启动nvidia_docker的容器,关键参数 --gpus all:
#可用宿主机的所有GPU网卡
--gpus all
#容器采用host网络模式,共享主机网卡
--network host
#容器内有足够权限执行宿主机命令或访问文件
--privileged
#直接共用宿主机内存,容器内拉起MPI进程时,报错,例如不存在的物理地址等错误
--ipc=host
#容器内设置shmsize内存资源大小
--ulimit=stack=67108864 --ulimit=memlock=-1
#映射宿主机目录到容器内目录(酌情设置,建议直接拷贝到容器内,不要映射)
-v /home:/homedocker run -itd --gpus all --network host --privileged --ipc=host -v /home:/home --ulimit=stack=67108864 --ulimit=memlock=-1 --name 容器名称 镜像:镜像版本 /bin/bash
相关文章:

英伟达Docker 安装与GPu镜像拉取
获取nvidia_docker压缩包nvidia_docker.tgz将压缩包上传至服务器指定目录解压nvidia_docker.tgz压缩包 tar -zxvf 压缩包执行rpm安装命令: #查看指定rpm包安装情况 rpm -qa | grep libstdc #查看指定rpm包下的依赖包的版本情况 strings /lib64/libstdc |grep GLI…...

智慧交通的神经中枢:利用ARMxy进行实时交通流数据采集
气候变化和水资源日益紧张,精准农业成为了提高农业生产效率、节约资源的关键。在这一变革中,ARMxy工业计算机扮演了核心角色,特别是在智能灌溉系统的实施中。 背景介绍: 某大型农场面临着灌溉效率低、水资源浪费严重的问题。传统的…...
文心一言使用技巧
前言 文心一言是一款基于人工智能技术的自然语言处理工具,它可以帮助用户生成、编辑和优化各种类型的文本。无论是写作、翻译、总结,还是进行信息提取和数据分析,文心一言都能提供强大的支持。本文将详细介绍文心一言的使用技巧,…...
技术人如何打造研发团队
技术人作为写代码一路走上来,其实不像销售岗位,售后交付岗位与人的打交道那么多。主要是很简单的技术沟通,在慢慢走上管理岗位后,也是依据自己的经验,自己的感觉来管理团队,很多时候自己的事情不但没少&…...

月薪6万,想离职...
大家好,我是无界生长,国内最大AI付费社群“AI破局俱乐部”初创合伙人。这是我的第 39 篇原创文章——《月薪6万,想离职...》 是的,你没有看错,我月薪6万,却想离职,很不可思议吧?周围…...

ReentrantLock底层原理
ReentrantLock public ReentrantLock() {sync new NonfairSync(); }public ReentrantLock(boolean fair) {sync fair ? new FairSync() : new NonfairSync(); }ReentrantLock 的默认实现是非公平锁,实际上 ReentrantLock 中的方法,几乎都让 sync 实现…...

基于JSP的医院远程诊断系统
开头语: 你好呀,我是计算机学长猫哥!如果有相关需求,文末可以找到我的联系方式。 开发语言: Java 数据库: MySQL 技术: JSP Servlet JSPBean 工具: IDEA/Eclipse、Navica…...

项目:基于httplib/消息队列负载均衡式在线OJ
文章目录 写在前面关于组件开源仓库和项目上线其他文档说明项目亮点 使用技术和环境项目宏观结构模块实现compiler模块runner模块compile_run模块compile_server模块 基于MVC结构的OJ服务什么是MVC?用户请求服务路由功能Model模块view模块Control模块 写在前面 关于…...

详解python中的pandas.read_csv()函数
😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。 🤓 同时欢迎大家关注其他专栏,我将分享Web前后端开发、人工智能、机器学习、深…...
速盾:DDoS高防IP上设置转发规则
DDoS攻击是一种网络攻击方式,攻击者通过大量请求使目标服务器或网络资源超负荷运行,导致服务不可用。为了保护网络安全,减少DDoS攻击对网络的影响,使用DDoS高防IP可以是一种解决方案。而在DDoS高防IP上设置转发规则可以提高网络的…...
京东一面测开(KPI)
京东一面测开凉经(笔试ak) 3.8 面试官:你很优秀啊,你不用谦虚 没问技术相关,问了如何设计测试用例步骤一些理论: 什么是软件测试?其目的是什么? 软件测试有哪些类型?请列…...

Django框架中级
Django框架中级 – 潘登同学的WEB框架 文章目录 Django框架中级 -- 潘登同学的WEB框架 中间件自定义中间件常用中间件process_view() 使用中间件进行URL过滤 Django生命周期生命周期分析 Django日志日志配置filter过滤器自定义filter 日志格式化formatter Django信号内置信号定…...
cordova-plugin-inappbrowser内置浏览器插件
一、InAppBrowser(内置浏览器) 允许在在单独的窗口中加载网页。例如要向应用用户展示其他网页。当然可以很容易地在应用中加载网页内容并管理,但有时候需要不同的用户体验,InAppBrowser加载网页内容,应用用户可以更方便的直接返回到主应用。 二、安装命令: cordova pl…...

打造智慧工厂核心:ARMxy工业PC与Linux系统
智能制造正以前所未有的速度重塑全球工业格局,而位于这场革命核心的,正是那些能够精准响应复杂生产需求、高效驱动自动化流程的先进设备。钡铼技术ARMxy工业计算机,以其独特的设计哲学与卓越的技术性能,正成为众多现代化生产线背后…...
Java File IO
Java File IO ~主要介绍四个类 InputStream OutputStream FileReader FileWriter~ InputStream (字节流读取File) public static void main(String[] args) throws IOException {String filePath "D:\\Javaideaporject\\JavaBaseSolid8\\File\\t…...

MySQL 函数与约束
MySQL 函数与约束 文章目录 MySQL 函数与约束1 函数1.1 字符串函数1.2 数值函数1.3 日期函数1.4 流程函数 2 约束2.1 概述2.2 约束演示2.3 外键约束2.4 删除/更新行为 1 函数 函数是指一段可以直接被另一程序调用的程序或代码。 1.1 字符串函数 MySQL中内置了很多字符串函数&…...
12_1 Linux Yum进阶与DNS服务
12_1 Linux Yum进阶与DNS服务 文章目录 12_1 Linux Yum进阶与DNS服务[toc]1. Yum进阶1.1 自定义yum仓库1.2 网络Yum仓库 2. DNS服务2.1 为什么要使用DNS系统2.2 DNS服务器的功能2.3 DNS服务器分类2.4 DNS服务使用的软件及配置2.5 搭建DNS服务示例2.6 DNS特殊解析 1. Yum进阶 1…...
Spring Boot集成geodesy实现距离计算
1.什么是geodesy? 浩瀚的宇宙中,地球是我们赖以生存的家园。自古以来,人类一直对星球上的位置和彼此的距离着迷。无论是航海探险、贸易往来还是科学研究,精确计算两个地点之间的距离都是至关重要的。 Geodesy:大地测量…...

在Windows上用Llama Factory微调Llama 3的基本操作
这篇博客参考了一些文章,例如:教程:利用LLaMA_Factory微调llama3:8b大模型_llama3模型微调保存-CSDN博客 也可以参考Llama Factory的Readme:GitHub - hiyouga/LLaMA-Factory: Unify Efficient Fine-Tuning of 100 LLMsUnify Effi…...

01——生产监控平台——WPF
生产监控平台—— 一、介绍 VS2022 .net core(net6版本) 1、文件夹:MVVM /静态资源(图片、字体等) 、用户空间、资源字典等。 2、图片资源库: https://www.iconfont.cn/ ; 1.资源字典Dictionary 1、…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...

页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
适应性Java用于现代 API:REST、GraphQL 和事件驱动
在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...