Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【NVIDIA AGX Orin开发教程5】使用Docker容器的入门技巧

【NVIDIA AGX Orin开发教程5】使用Docker容器的入门技巧

原创
作者头像
GPUS Lady
发布于 2022-08-16 02:45:00
发布于 2022-08-16 02:45:00
3.6K00
代码可运行
举报
文章被收录于专栏:GPUS开发者GPUS开发者
运行总次数:0
代码可运行

在前一篇内容的末尾,介绍了从英伟达NGC下载DeepStream 6.1的容器版镜像,到本地在Jetson上设备的基础指令,不过在正式使用容器版DeepStream 6.1之前,还是需要为入门用户提供基本的使用方式与一些小技巧。

Orin开发套件内置64GB EMMC存储,并且很容易扩充64G甚至更大的NVME存储设备,可以有非常充沛的空间,在这种情况下就非常推荐使用Docker容器技术,能有效简化应用软件的安装与调试工作,并且为了也非常适合用来开发与部署较为复杂的多功能智能应,并且在英伟达NGC上提供非常丰富的Docker版本应用镜像文件,用户只要一道指令便可轻松下载使用,这是未来边缘智能计算非常重要的一项应用技术。

Docker是一种比较新的“容器”技术,是NVIDIA近年来非常大力推广的应用重点,越来越多的GPU开发环境都以docker镜像(或称为“仓”)形式提供,具备以下的优点与特性:

1. 轻量级:这是相较于虚拟机的比对,容器内不需要独立操作系统,它是基于主机上的操作系统,透过一些映射指令去指向资源路径。大部分的容器镜像都在数十MB到数GB大小规模。

2. 硬件调度能力:这是NVIDIA非常喜欢Docker容器技术的重点之一,虚拟机环境对GPU支持能力并不好,多得透过底层穿透(pass through)方式调用,但容易影响系统稳定性。Docker容器直接与操作系统交互运作,只要主机上操作系统装好NVIDIA GPU的驱动,甚至不需要安装CUDA开发包,在Docker容器内就能轻松用上GPU并行计算的功能。

3. 封装完整:相较于conda或virtualenv这类环境虚拟技术而言,docekr容器的封装更为完整而且独立,这在开发Python相关应用时更加明星,因为Python版本升级太频繁,相关依赖包之间的版本牵动关系复杂,而Docker容器的封装就显得非常有效,并且移植十分简便。

Docker作为一个开源的应用容器引擎,允许开发者很方便地打包应用程序和依赖库到可移植的容器中,然后发布到任何流行的linux设备上,docker完全使用沙箱机制,容器之间相互独立,不存在任何接口,因此,允许开发者在同一台机器上,运行不同环境的应用程序与服务,大大简化应用程序(或者服务)的运维操作,同时也提高了开发与测试效率。

对于CUDA设备的调用,需要英伟达自行开发的nvidia-docker2指令转换插件的协助,在x86设备上都需要自行安装docker管理机制与nvidia-docker2界面,不过Jetpack都为Jetson安装好这两个元件,我们只要使用就可以。

现在就开始教大家如何使用Docker容器,以及从英伟达NGC中心下载可以在Jetson设备上使用的镜像。

1. 检查Docker环境与修改储存路径:

用Jetpack安装好系统之后,直接输入以下指令,就能检查目前系统中Docker的所有状态信息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$	sudo  docker  info

可以看到一长串关于Docker环境的内容,由于信息量较大就不在这里单独列出所有内容。如果要单纯查看版本号,只要执行以下指令就可以:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$	sudo  docker  version

现在会看到如下截屏的版本信息,包括用户(client)端与服务(server)端:

如果要看最简单的版本信息,那么下面指令是最适合的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 $	sudo  docker  --version   

要检查目前Docker系统放置镜像文件的路径,可以执行以下指令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$	sudo  docker  info  |  grep  -i  root

系统预设的存放路径为 /var/lib/docker,如果有自己添加的额外NVME存储设备,可以在 /etc/docker/daemon.json文件中添加以下粗体的指令,调整存放路径:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 文件 /etc/docker/daemon.json
{
"data-root": "<自己指定路径>",
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

修改完后执行以下指令,让新的设定值生效:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ sudo  systemctl  daemon-reload
$ sudo  systemctl  restart  docker.service

现在检查看看存储的路径是否更新了!

2. 简化Docker指令:

这个应用完全依赖指令操作,在Ubuntu操作系统时又需要”sudo”取得操作权限,例如执行“docker info”指令,会出现下面信息,表示权限不足。

我们可以执行以下步骤,在执行docker指令时可以不需要使用”sudo”:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ sudo  groupadd  docker
$ sudo  gpasswd  -a  ${USER}  docker
$ sudo  service  docker  restart
$ newgrp  -  docker

当然,这只是简化权限的问题,并不是太重要的环境,只是提供一个参考!

3. 从NGC寻找合适的镜像文件

访问http://ngc.nvidia.com/ 会出现如下截屏的画面,在左上方“搜索栏(漏斗图标)”中输入“l4t”关键字,就会列出能在Jetson上运行的镜像列表。

目前已经提供近20个容器镜像,分为以下6大类别:

l 基础类:

Ø NVIDIA L4T Base:

https://catalog.ngc.nvidia.com/orgs/nvidia/containers/l4t-base

Ø NVIDIA L4T CUDA:

https://catalog.ngc.nvidia.com/orgs/nvidia/containers/l4t-cuda

Ø NVIDIA Container Toolkit:

https://catalog.ngc.nvidia.com/orgs/nvidia/teams/k8s/containers/container-toolkit

l 深度学习类:

Ø NVIDIA L4T ML:深度学习综合开发环境

https://catalog.ngc.nvidia.com/orgs/nvidia/containers/l4t-ml

Ø NVIDIA L4T PyTorch:

https://catalog.ngc.nvidia.com/orgs/nvidia/containers/l4t-pytorch

Ø NVIDIA L4T TensorFlow:

https://catalog.ngc.nvidia.com/orgs/nvidia/containers/l4t-tensorflow

Ø NVIDIA L4T TensorRT:

https://catalog.ngc.nvidia.com/orgs/nvidia/containers/l4t-tensorrt

l 视觉类:

Ø DeepStream-l4t

https://catalog.ngc.nvidia.com/orgs/nvidia/containers/deepstream-l4t

Ø DeepStream L4T - Intelligent Video Analytics Demo

https://catalog.ngc.nvidia.com/orgs/nvidia/helm-charts/video-analytics-demo-l4t

Ø DeepStream People Detection Demo on Jetson

https://catalog.ngc.nvidia.com/orgs/nvidia/containers/deepstream-peopledetection

Ø Gaze Demo for Jetson/L4T

https://catalog.ngc.nvidia.com/orgs/nvidia/containers/jetson-gaze

Ø Pose Demo for Jetson/L4T

https://catalog.ngc.nvidia.com/orgs/nvidia/containers/jetson-pose

l 对话类:

Ø Voice Demo for Jetson/L4T

https://catalog.ngc.nvidia.com/orgs/nvidia/containers/jetson-voice

Ø Riva Speech Skills

https://catalog.ngc.nvidia.com/orgs/nvidia/teams/riva/containers/riva-speech

l 教学类:

Ø DLI Getting Started with AI on Jetson Nano

https://catalog.ngc.nvidia.com/orgs/nvidia/teams/dli/containers/dli-nano-ai

Ø DLI Building Video AI Applications at the Edge on Jetson Nano

https://catalog.ngc.nvidia.com/orgs/nvidia/teams/dli/containers/dli-nano-deepstream

l 医疗类:专属与Clara AGX的应用容器镜像:

1. 下载NVIDIA L4T ML镜像并创建容器

这是能在Jetson设备上执行的最完整机器学习(Machine Learning)镜像,访问https://catalog.ngc.nvidia.com/orgs/nvidia/containers/l4t-ml 之后就能看到容器内所包含的内容,以l4t-ml:r32.6.1-py3版本为例,其打包的工具与功能库如下:

l TensorFlow 1.15.5

l PyTorch v1.9.0

l torchvision v0.10.0

l torchaudio v0.9.0

l onnx 1.8.0

l CuPy 9.2.0

l numpy 1.19.5

l numba 0.53.1

l OpenCV 4.5.0 (with CUDA)

l pandas 1.1.5

l scipy 1.5.4

l scikit-learn 0.23.2

l JupyterLab 2.2.9

这已经涵盖我们所需要的绝大部分内容,只要下载镜像后生成执行的容器,就能直接使用里面的开发环境,这样能节省非常大量的安装与调试的时间。

点击页面右上角“Pull Tag”按钮,会列出目前可下载版本的镜像文件,最好选择配合目前Jetpack版本的镜像,例如用Jetpack 5.0DP安装的Orin开发套件,其L4T版本为34.1.1,就用下面指令下载r34.1.1-py3镜像:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ docker  pull  nvcr.io/nvidia/l4t-ml:r34.1.1-py3

下载完成之后可以用以下指令检查:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ docker  images

如果出现以下信息,表示下载完成!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
REPOSITORY        TAG           IMAGE ID       CREATED      SIZE
nvcr.io/nvidia/l4t-ml   r34.1.1-py3   93c715e8751b   6 weeks ago   16.2GB

这个方法可以用在任何L4T版本镜像文件上。

下一盘文章将进一步带着大家用这个镜像文件去创建容器,并且开始执行演示或开发的内容。【完】

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【NVIDIA AGX Orin开发教程4】安装DeepStream
在前面安装Orion开发套件的开发环境过程,并没有将DeepStream智能分析套件安装进去,因此需要独立的过程去安装,这里提供三种安装方式给使用者参考。
GPUS Lady
2022/08/16
2.2K0
【NVIDIA AGX Orin开发教程4】安装DeepStream
在Jetson上玩转大模型Day2:环境搭建
由NVIDIA资深工程师DustinFranklin为Jetson设备所搭建的jetson-container开发环境,以Docker容器为基础去提供各种所需的应用环境,这还需要nvidia-docker的配合,所幸Jetpack安装工具已经都配置完成了。
GPUS Lady
2024/10/22
6000
在Jetson上玩转大模型Day2:环境搭建
【NVIDIA AGX Orin开发教程3】安装开发环境
【NVIDIA Jetson AGX Orin教程2】配置操作系统 【NVIDIA Jetson AGX Orin教程1】开发套件硬件介绍 上一篇文章已经为Orion开发套件配置好Ubuntu 20.04 L4T(Linux for Tegra)桌面级操作系统,但是如下列所需要的开发资源并未安装: - CUDA工具包(toolkits); -CUDNN神经网络加速库: -TensorRT推理加速引擎; -OpenCV计算机视觉库; -VPI视觉开发界面; -DeepStream智能分析工具; 过去的AG
GPUS Lady
2022/06/29
3K0
【NVIDIA AGX Orin开发教程3】安装开发环境
【NVIDIA AGX Orin开发教程6】使用容器版DeepStream-1
【NVIDIA AGX Orin开发教程4】安装DeepStream 【NVIDIA AGX Orin开发教程3】安装开发环境 【NVIDIA Jetson AGX Orin教程2】配置操作系统 【NVIDIA Jetson AGX Orin教程1】开发套件硬件介绍 【NVIDIA AGX Orin开发教程5】使用Docker容器的入门技巧 更多:
GPUS Lady
2022/08/26
7410
【NVIDIA AGX Orin开发教程6】使用容器版DeepStream-1
领先一步:使用NVIDIA Jetson Orin Nano开发套件常见问题(2)
答:请注意,此文本无法提供适当的结果。为了获得最佳且最少困扰的效果,建议您在计算机上进行双系统引导,选择Ubuntu 20.04版本。有些人使用虚拟机,但由于需要正确设置USB,这种方法可能会有不确定性。我听说有一些高级用户使用WSL2,但您需要知道如何正确设置USB并安装回环功能。我强烈建议您选择双系统引导方式。
GPUS Lady
2023/07/08
1.7K0
领先一步:使用NVIDIA Jetson Orin Nano开发套件常见问题(2)
【NVIDIA AGX Orin开发教程5】使用Docker容器的入门技巧
【NVIDIA AGX Orin开发教程4】安装DeepStream 【NVIDIA AGX Orin开发教程3】安装开发环境 【NVIDIA Jetson AGX Orin教程2】配置操作系统 【NVIDIA Jetson AGX Orin教程1】开发套件硬件介绍 更多
GPUS Lady
2022/08/26
9300
【NVIDIA AGX Orin开发教程5】使用Docker容器的入门技巧
今日起,NVIDIA Jetson Orin NANO和Orin NX模组也可以升级成Super模式
昨晚,NVIDIA在其论坛上公布了JetPack 6.2版本,意味着NVIDIA Jetson Orin NANO和Orin NX模组也可以升级成Super模式
GPUS Lady
2025/01/19
1.7K0
今日起,NVIDIA Jetson Orin NANO和Orin NX模组也可以升级成Super模式
英伟达Jetson 官方AI课程
今天看见箱子里的开发板,就拿出来又玩了~按照官方的课程走一遭。 在联网上面2G的版本没有网卡,我就插网线了。。。 记得分享网络的时候是,WLAN给有线连接 连接之后ping一下,成功 看看ip 看看我能不能读取到 然后ping一下jetson的ip 可以直接SSH连接哦 https://www.nvidia.com/en-us/training/ 课程的位置 需要登录 需要的硬件 摄像头可以使用USB的 这里给出来所有的配件 穷人配置系列
云深无际
2021/09/14
6290
英伟达Jetson 官方AI课程
Jetson Orin NANO开发者必须知道的:NGC内容简介与注册密钥
登录 http://ngc.nvidia.com 就能进入NGC中心(如下图),不过这个入口的更新频率很高,首页所看到的内容可能跳转至其他地方。网页最左边的“Explore Catalog”与右上角的 “用户名(未登录之前为Guest)”,大致是固定的。
GPUS Lady
2023/07/08
7290
Jetson Orin NANO开发者必须知道的:NGC内容简介与注册密钥
利用OpenAI和NVIDIA Riva,在Jetson上搭建一个AI聊天机器人
在尖端语音处理领域,Riva 是一款由 NVIDIA 开发的强大平台,使开发人员能够创建强大的语音应用。该平台提供了一系列复杂的语音处理能力,包括自动语音识别(ASR)、文本转语音(TTS)、自然语言处理(NLP)、神经机器翻译(NMT)和语音合成。Riva 的一个关键优势在于其利用了 NVIDIA 的 GPU 加速技术,确保在处理高负载时仍能保持最佳性能。通过用户友好的 API 接口和 SDK 工具,Riva 简化了开发人员构建语音应用的过程。此外,Riva 还在 NVIDIA NGC™ 存储库中提供了预训练的语音模型,这些模型可以在自定义数据集上使用 NVIDIA NeMo 进行进一步优化,从而将专业模型的开发加速了 10 倍。
GPUS Lady
2023/08/23
1K0
利用OpenAI和NVIDIA Riva,在Jetson上搭建一个AI聊天机器人
NVIDIA Jetson AGX Orin填坑初体验
本文征得作者同意转载,大家也可以在知乎上关注作者本人: 原文地址: Nvidia Jetson AGX Orin 初体验 - 张小白的文章 - 知乎 https://zhuanlan.zhihu.com/p/503890030 一、开箱 Nvidia Jetson AGX Orin是今年Nvidia推出的唯一的开发套件,相比Jetson Nano 472GFLOP算力、Jetson Xaiver 32TOPS(INT8)算力,它的算力达到了200 TOPS左右。也就是说,几乎相当于目前主流设备的8-10倍
GPUS Lady
2022/04/25
5K0
NVIDIA Jetson AGX Orin填坑初体验
NVIDIA Deepstream 4.0笔记(完结篇):如何开始使用Deepstream​以及容器
本次笔记整理自NVIDIA 8月20日在线研讨会,原讲座标题:DEEPSTREAM SDK – ACCELERATING REAL-TIME AI BASED VIDEO AND IMAGE ANALYTICS
GPUS Lady
2019/08/30
5.6K0
NVIDIA Jetson TX2和AGX Xavier产品中一些容易忽略的特点
NVIDIA®Jetson™AGX Xavier和Jetson TX2提供了一个内置的Cortex-R5微控制器,该控制器也被称为传感器处理引擎(SPE)。示例使用包括传感器数据处理、唤醒管理、无人机和机器人。
GPUS Lady
2019/08/09
3.6K0
NVIDIA Jetson TX2和AGX Xavier产品中一些容易忽略的特点
如何给NVIDIA JetsonOrin Nano开发套件安装CSI摄像头
【教程】如何在NVIDIA Jetson Orin NANO上把系統刷到SSD上?
GPUS Lady
2023/05/30
1.7K1
如何给NVIDIA JetsonOrin Nano开发套件安装CSI摄像头
JetPack 6.1震撼发布:为NVIDIA Jetson Orin平台注入全新活力!
中国的用户还沉浸在国庆长假时,英伟达宣布JetPack 6.1的正式版发布,这是一次重大升级,包含了Jetson Linux 36.4 17、Linux Kernel 5.15以及基于Ubuntu 22.04的根文件系统。此版本专为提升NVIDIA Jetson Orin模块和开发者套件的性能与功能而设计,为AI和边缘计算应用提供了强大且多功能的软件环境。
GPUS Lady
2024/10/03
9580
OpenEuler 系统安装 docker 和 nvidia-docker
1.查看系统自带的驱动,如果有结果,则说明存在nouveau,没有则直接跳过这一步。
运维晓柏
2025/04/25
5370
NVIDIA Jetpack SDK里包含了哪些?
对于初次使用NVIDIA Jetson产品的人经常会问:这个产品是装什么操作系统?Ubuntu 16.04支持么?支持安卓么?能不能安装CUDA?等等 其实我们之前已经有很多文章介绍了关于如何在NVI
GPUS Lady
2020/10/28
4.4K0
NVIDIA  Jetpack SDK里包含了哪些?
增强视觉AI可能性:DeepStream 6.3推出GXF和多架构容器支持
DeepStream是领先的基于GStreamer的软件开发工具包(SDK),使开发人员能够创建尖端的视觉AI应用。凭借其先进的功能和增强的能力,DeepStream处于图像处理,物体检测和AI驱动解决方案的前沿。
GPUS Lady
2023/08/15
7520
在NVIDIA Jetson集群上运行集群管理软件K3s
这次我们以Kubernet的轻量级管理工具K3S在这个4节点设备上搭建Docker容器集群管理功能,主要目的如下:
GPUS Lady
2021/01/06
2.8K0
在NVIDIA Jetson集群上运行集群管理软件K3s
Nvidia JetSON AGX Xavier查看版本常用命令
借助 NVIDIA Jetson AGX Xavier 开发者套件,您可以轻松创建和部署面向制造、交付、零售、智慧城市等领域的端到端 AI 机器人应用程序。该套件由 NVIDIA JetPack 和 DeepStream SDK,以及 CUDA®、cuDNN 和 TensorRT 软件库提供支持,可为您提供立即入门所需的所有工具
zd123
2021/05/27
3.9K0
推荐阅读
相关推荐
【NVIDIA AGX Orin开发教程4】安装DeepStream
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档