一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用Docker容器的入門技巧

NVIDIA英偉達(dá)企業(yè)解決方案 ? 來(lái)源:NVIDIA英偉達(dá)企業(yè)解決方案 ? 作者:NVIDIA英偉達(dá)企業(yè)解 ? 2022-07-27 09:43 ? 次閱讀

上一篇內(nèi)容為大家介紹了從 NVIDIA NGC 下載 DeepStream 6.1 的容器版鏡像到本地在 Jetson 上設(shè)備的基礎(chǔ)指令,不過(guò)在正式使用容器版 DeepStream6.1 之前,我們還是需要為入門用戶提供基本的使用方式與一些小技巧。

Jetson Orin 開(kāi)發(fā)套件內(nèi)置 64GB EMMC 存儲(chǔ),并且很容易擴(kuò)充 64G 甚至更大的 NVME 存儲(chǔ)設(shè)備,可以有非常充沛的空間,在這種情況下就非常推薦使用 Docker 容器技術(shù),能有效簡(jiǎn)化應(yīng)用軟件的安裝與調(diào)試工作,非常適合用來(lái)開(kāi)發(fā)與部署較為復(fù)雜的多功能智能應(yīng)用,并且在 NVIDIA NGC 上提供了非常豐富的 Docker 版本應(yīng)用鏡像文件,用戶只要一條指令便可輕松下載使用,這是邊緣計(jì)算非常重要的一項(xiàng)應(yīng)用技術(shù)。

Docker 是一種比較新的 “容器” 技術(shù),是 NVIDIA 近年來(lái)非常大力推廣的應(yīng)用重點(diǎn),越來(lái)越多的 GPU 開(kāi)發(fā)環(huán)境都以 Docker 鏡像(或稱為 “倉(cāng)” )形式提供,具備以下的優(yōu)點(diǎn)與特性:

1、輕量級(jí):這是相較于虛擬機(jī)的比對(duì),容器內(nèi)不需要獨(dú)立操作系統(tǒng),它是基于主機(jī)上的操作系統(tǒng),透過(guò)一些映射指令去指向資源路徑。大部分的容器鏡像都在數(shù)十 MB 到數(shù) GB 大小規(guī)模。

2、硬件調(diào)度能力:這是 NVIDIA 非常喜歡 Docker 容器技術(shù)的重點(diǎn)之一,虛擬機(jī)環(huán)境對(duì) GPU 支持能力并不好,得透過(guò)底層穿透(pass through)方式調(diào)用,但容易影響系統(tǒng)穩(wěn)定性。Docker 容器直接與操作系統(tǒng)交互運(yùn)作,只要主機(jī)上操作系統(tǒng)裝好 NVIDIA GPU 的驅(qū)動(dòng),甚至不需要安裝 CUDA 開(kāi)發(fā)包,在 Docker 容器內(nèi)就能輕松用上 GPU 并行計(jì)算的功能。

3、封裝完整:相較于 conda 或 virtualenv 這類環(huán)境虛擬技術(shù)而言,Docker 容器的封裝更為完整而且獨(dú)立,這在開(kāi)發(fā) Python 相關(guān)應(yīng)用時(shí)更加明顯,因?yàn)?Python 版本升級(jí)太頻繁,相關(guān)依賴包之間的版本牽動(dòng)關(guān)系復(fù)雜,而 Docker 容器的封裝就顯得非常有效,并且移植十分簡(jiǎn)便。

Docker 作為一個(gè)開(kāi)源的應(yīng)用容器引擎,允許開(kāi)發(fā)者很方便地打包應(yīng)用程序和依賴庫(kù)到可移植的容器中,然后發(fā)布到任何流行的 Linux 設(shè)備上,Docker 完全使用沙箱機(jī)制,容器之間相互獨(dú)立,不存在任何接口,因此,允許開(kāi)發(fā)者在同一臺(tái)機(jī)器上,運(yùn)行不同環(huán)境的應(yīng)用程序與服務(wù),大大簡(jiǎn)化應(yīng)用程序(或者服務(wù))的運(yùn)維操作,同時(shí)也提高了開(kāi)發(fā)與測(cè)試效率。

對(duì)于 CUDA 設(shè)備的調(diào)用,需要 NVIDIA 自行開(kāi)發(fā)的 nvidia-docker2 指令轉(zhuǎn)換插件的協(xié)助,在 x86 設(shè)備上都需要自行安裝 Docker 管理機(jī)制與 nvidia-docker2 界面,不過(guò) JetPack 都為 Jetson 安裝好了這兩個(gè)元件,我們只要使用就可以。

現(xiàn)在就開(kāi)始教大家如何使用 Docker 容器,以及從 NVIDIA NGC 中心下載可以在 Jetson 設(shè)備上使用的鏡像。

1、檢查 Docker 環(huán)境與修改儲(chǔ)存路徑:

用 JetPack 安裝好系統(tǒng)之后,直接輸入以下指令,就能檢查目前系統(tǒng)中 Docker 的所有狀態(tài)信息:

sudo  docker  info

可以看到一長(zhǎng)串關(guān)于 Docker 環(huán)境的內(nèi)容,由于信息量較大就不在這里單獨(dú)列出所有內(nèi)容。如果要單純查看版本號(hào),只要執(zhí)行以下指令就可以:

sudo  docker  version

現(xiàn)在會(huì)看到如下版本信息,包括用戶(Client)端與服務(wù)(Server)端:

cd5e4032-0ce3-11ed-ba43-dac502259ad0.png

如果要看最簡(jiǎn)單的版本信息,那么下面指令是最適合的:

sudo  docker  --version

要檢查目前 Docker 系統(tǒng)放置鏡像文件的路徑,可以執(zhí)行以下指令:

sudo  docker  info  |  grep  -i  root

系統(tǒng)預(yù)設(shè)的存放路徑為 /var/lib/docker,如果有自己添加的額外 NVME 存儲(chǔ)設(shè)備,可以在 /etc/docker/daemon.json 文件中添加以下指令,調(diào)整存放路徑:

# 文件 /etc/docker/daemon.json{"data-root": "<自己指定路徑>",    "runtimes": {        "nvidia": {            "path": "nvidia-container-runtime",            "runtimeArgs": []        }    }}

修改完后執(zhí)行以下指令,讓新的設(shè)定值生效:

sudo  systemctl  daemon-reloadsudosystemctlrestartdocker.service

現(xiàn)在可以檢查看看存儲(chǔ)的路徑是否更新。

2、簡(jiǎn)化 Docker 指令:

這個(gè)應(yīng)用完全依賴指令操作,在 Ubuntu 操作系統(tǒng)時(shí)又需要 “sudo” 取得操作權(quán)限,例如執(zhí)行 “docker info” 指令,會(huì)出現(xiàn)下面信息,表示權(quán)限不足。

cd98575e-0ce3-11ed-ba43-dac502259ad0.png

我們可以執(zhí)行以下步驟,在執(zhí)行 Docker 指令時(shí)可以不需要使用 “sudo”:

sudo  groupadd  dockersudo  gpasswd  -a  ${USER}  dockersudo  service  docker  restartnewgrp-docker

當(dāng)然,這只是簡(jiǎn)化權(quán)限的問(wèn)題,僅提供一個(gè)參考。

3、從 NGC 尋找合適的鏡像文件:

訪問(wèn)http://ngc.nvidia.com/會(huì)出現(xiàn)如下畫(huà)面,在左上方 “搜索欄(漏斗圖標(biāo))” 中輸入“l(fā)4t”關(guān)鍵字,就會(huì)列出能在 Jetson 上運(yùn)行的鏡像列表。

cdb8c9a8-0ce3-11ed-ba43-dac502259ad0.png

目前已經(jīng)提供近 20 個(gè)容器鏡像,分為以下 6 大類別:

(1)基礎(chǔ)類:

  • 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

(2)深度學(xué)習(xí)類:

  • NVIDIA L4T ML:深度學(xué)習(xí)綜合開(kāi)發(fā)環(huán)境

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

  • NVIDIA L4T PyTorch:

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

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

  • NVIDIA L4T TensorRT:

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

(3)視覺(jué)類:

  • 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

(4)對(duì)話類:

  • 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

(5)教學(xué)類:

  • 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

(6)醫(yī)療類:專屬于 Clara AGX 的應(yīng)用容器鏡像。

4、下載 NVIDIA L4T ML 鏡像并創(chuàng)建容器

這是能在 Jetson 設(shè)備上執(zhí)行的最完整的機(jī)器學(xué)習(xí)(MachineLearning)軟件棧鏡像,訪問(wèn) https://catalog.ngc.nvidia.com/orgs/nvidia/containers/l4t-ml 之后就能看到容器內(nèi)所包含的內(nèi)容,以 l4t-ml:r32.6.1-py3 版本為例,其打包的工具與功能庫(kù)如下:

  • TensorFlow 1.15.5

  • PyTorch v1.9.0

  • torchvision v0.10.0

  • torchaudio v0.9.0

  • onnx 1.8.0

  • CuPy 9.2.0

  • numpy 1.19.5

  • numba 0.53.1

  • OpenCV 4.5.0 (with CUDA)

  • pandas 1.1.5

  • scipy 1.5.4

  • scikit-learn 0.23.2

  • JupyterLab 2.2.9

這已經(jīng)涵蓋我們所需要的絕大部分內(nèi)容,只要下載鏡像后生成執(zhí)行的容器,就能直接使用里面的開(kāi)發(fā)環(huán)境,這樣能節(jié)省非常大量的安裝與調(diào)試的時(shí)間。

點(diǎn)擊頁(yè)面右上角 “Pull Tag” 按鈕,會(huì)列出目前可下載版本的鏡像文件,最好選擇配合目前 JetPack 版本的鏡像,例如用 JetPack5.0 DP 安裝的 Jetson Orin 開(kāi)發(fā)套件,其 L4T 版本為 34.1.1,就用下面指令下載 r34.1.1-py3 鏡像:

docker  pull  nvcr.io/nvidia/l4t-ml:r34.1.1-py3

下載完成之后可以用以下指令檢查:

docker  images

如果出現(xiàn)以下信息,則表示下載完成。

REPOSITORY        TAG           IMAGE ID       CREATED      SIZEnvcr.io/nvidia/l4t-mlr34.1.1-py393c715e8751b6weeksago16.2GB

這個(gè)方法可以用在任何 L4T 版本鏡像文件上。

下一篇文章我們將進(jìn)一步帶著大家用這個(gè)鏡像文件去創(chuàng)建容器,并且開(kāi)始執(zhí)行演示或開(kāi)發(fā)的內(nèi)容。

審核編輯:湯梓紅


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    5188

    瀏覽量

    105445
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    504

    瀏覽量

    22325
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    503

    瀏覽量

    12555

原文標(biāo)題:NVIDIA Jetson 系列文章(5):使用Docker容器的入門技巧

文章出處:【微信號(hào):NVIDIA-Enterprise,微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何使用 Docker容器化技術(shù)

    對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),Docker肯定都不陌生,今天小編帶大家重新學(xué)習(xí)一下Docker。 什么是 Docker 官話: Docker 是一種開(kāi)源的容器
    的頭像 發(fā)表于 09-30 11:24 ?1.7w次閱讀

    ARM平臺(tái)實(shí)現(xiàn)Docker容器技術(shù)

    本帖最后由 Tronlong創(chuàng)龍科技 于 2024-7-19 16:50 編輯 什么是Docker? (1)Docker的架構(gòu)Docker是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可打包
    發(fā)表于 07-17 11:05

    ARM平臺(tái)實(shí)現(xiàn)Docker容器技術(shù)

    本帖最后由 Tronlong創(chuàng)龍科技 于 2024-7-26 08:51 編輯 什么是Docker? (1)Docker的架構(gòu)Docker是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可打包
    發(fā)表于 07-25 14:36

    如何在Docker中創(chuàng)建容器

    Docker是一個(gè)開(kāi)源的引擎,可以輕松的為任何應(yīng)用創(chuàng)建一個(gè)輕量級(jí)的、可移植的、自給自足的容器。開(kāi)發(fā)者在筆記本上編譯測(cè)試通過(guò)的容器可以批量地在生產(chǎn)環(huán)境中部署,包括VMs(虛擬機(jī))、bare metal
    發(fā)表于 01-03 15:58

    理解Docker容器并暢玩docker

    !命令行!玩docker,簡(jiǎn)單幾句命令就夠了。Docker容器響應(yīng)迅速,執(zhí)行迅速,回憶一下VM啟動(dòng)要多久?最佳的試驗(yàn)場(chǎng)所,想怎么玩怎么玩,rm -rf /* 根本不是大問(wèn)題。主機(jī)上刪掉容器
    發(fā)表于 11-05 09:54

    請(qǐng)問(wèn)docker容器如何查看日志?

    docker容器如何查看日志
    發(fā)表于 11-19 07:29

    Docker容器管理命令(一)

    1、Docker容器管理命令的使用方法查看當(dāng)前主機(jī)本地docker鏡像:啟動(dòng)容器必須依賴鏡像,所以要獲取到鏡像的唯一標(biāo)識(shí)docker
    發(fā)表于 04-20 17:55

    Docker容器管理命令(二)

    1、Docker容器管理命令的使用方法批量刪除docker 容器docker cp命令docker
    發(fā)表于 04-21 11:31

    Docker入門指南

    ?簡(jiǎn)化Arm硬件的應(yīng)用程序開(kāi)發(fā)?在開(kāi)始之前在云中工作并在邊緣部署本指南假設(shè)您熟悉容器概念。如果你不熟悉容器的概念,你可以在Docker入門中了解更多。 您還需要以下內(nèi)容: ?訪問(wèn)Git
    發(fā)表于 08-02 06:09

    Docker:微容器的優(yōu)勢(shì)與構(gòu)建教程

    非必要的東西也打包進(jìn)去,所以最后構(gòu)建出來(lái)的鏡像就很龐大,直接導(dǎo)致我們的容器也變得很大。對(duì)于剛入門Docker新手來(lái)說(shuō),大家一開(kāi)始基本都是用的Docker官方鏡像倉(cāng)庫(kù)里提供的基礎(chǔ)鏡像,
    發(fā)表于 10-10 11:32 ?0次下載

    docker技術(shù)入門與實(shí)戰(zhàn)

    入門docker的首本書(shū),系統(tǒng)化掌握容器技術(shù)棧
    發(fā)表于 06-09 14:38 ?0次下載

    docker容器刪除后數(shù)據(jù)還在嗎

    Docker作為一個(gè)容器化平臺(tái),提供了輕量級(jí)的虛擬化解決方案,能夠方便地創(chuàng)建、部署和管理應(yīng)用程序。然而,對(duì)于Docker容器的數(shù)據(jù)持久性是一個(gè)令人關(guān)注的問(wèn)題。當(dāng)我們刪除一個(gè)
    的頭像 發(fā)表于 11-23 09:32 ?2322次閱讀

    docker容器容器之間通信

    Docker是一種輕量級(jí)容器化技術(shù),能夠?qū)?yīng)用程序及其依賴項(xiàng)封裝在一個(gè)獨(dú)立、可移植的容器中。而容器化的應(yīng)用程序通常是以分布式方式設(shè)計(jì)的,因此實(shí)現(xiàn)容器
    的頭像 發(fā)表于 11-23 09:36 ?1828次閱讀

    docker進(jìn)入容器的方法有哪些

    Docker是一種流行的容器化平臺(tái),它能夠快速構(gòu)建、交付和運(yùn)行應(yīng)用程序。在使用Docker時(shí),我們經(jīng)常需要進(jìn)入容器進(jìn)行調(diào)試、管理和運(yùn)行命令等操作。本文將詳細(xì)介紹
    的頭像 發(fā)表于 11-23 09:45 ?1.1w次閱讀

    docker容器有幾種狀態(tài)

    Docker 是一種流行的容器化平臺(tái),它能夠幫助開(kāi)發(fā)人員將應(yīng)用程序和其依賴打包成一個(gè)獨(dú)立的容器,并且能夠在不同的環(huán)境中進(jìn)行部署和運(yùn)行。在 Docker 中,
    的頭像 發(fā)表于 11-23 09:50 ?2747次閱讀