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

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

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

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

使用Docker容器的入門技巧

NVIDIA英偉達企業(yè)解決方案 ? 來源:NVIDIA英偉達企業(yè)解決方案 ? 作者:NVIDIA英偉達企業(yè)解 ? 2022-07-27 09:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

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

sudo  docker  info

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

sudo  docker  version

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

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

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

sudo  docker  --version

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

sudo  docker  info  |  grep  -i  root

系統(tǒng)預(yù)設(shè)的存放路徑為 /var/lib/docker,如果有自己添加的額外 NVME 存儲設(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)在可以檢查看看存儲的路徑是否更新。

2、簡化 Docker 指令:

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

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

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

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

當然,這只是簡化權(quán)限的問題,僅提供一個參考。

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

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

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

目前已經(jīng)提供近 20 個容器鏡像,分為以下 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é)習類:

  • NVIDIA L4T ML:深度學(xué)習綜合開發(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)視覺類:

  • 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)對話類:

  • 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í)行的最完整的機器學(xué)習(MachineLearning)軟件棧鏡像,訪問 https://catalog.ngc.nvidia.com/orgs/nvidia/containers/l4t-ml 之后就能看到容器內(nèi)所包含的內(nèi)容,以 l4t-ml:r32.6.1-py3 版本為例,其打包的工具與功能庫如下:

  • 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í)行的容器,就能直接使用里面的開發(fā)環(huán)境,這樣能節(jié)省非常大量的安裝與調(diào)試的時間。

點擊頁面右上角 “Pull Tag” 按鈕,會列出目前可下載版本的鏡像文件,最好選擇配合目前 JetPack 版本的鏡像,例如用 JetPack5.0 DP 安裝的 Jetson Orin 開發(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

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

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

審核編輯:湯梓紅


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

    關(guān)注

    14

    文章

    5309

    瀏覽量

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

    關(guān)注

    0

    文章

    511

    瀏覽量

    22450
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    515

    瀏覽量

    12956

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

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

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

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

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

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

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

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

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

    理解Docker容器并暢玩docker

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

    請問docker容器如何查看日志?

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

    Docker容器管理命令(一)

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

    Docker容器管理命令(二)

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

    Docker入門指南

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

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

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

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

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

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

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

    docker容器容器之間通信

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

    docker進入容器的方法有哪些

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

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

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