• 我的NVIDIA开发者之旅——为 NVIDIA Jetson Nano 运行 Docker 容器(学习笔记)


    "我的NVIDIA开发者之旅” | 征文活动进行中.......

    1.什么是NVIDIA Jetson Nano

    NVIDIA Jetson Nano 是一款针对机器学习和 AI 任务的低成本计算机,可以有效地与 Docker 一起使用以提高开发速度。我们通过模拟 Jetson Nano 的 ARM 架构和 L4T OS 来了解如何设置 docker 以在 x86 机器上为 Jetson Nano 开发应用程序。NVIDIA Jetson Nano 是一款针对机器学习和 AI 任务的低成本计算机,可以有效地与 Docker 一起使用以提高开发速度。让我们通过模拟 Jetson Nano 的 ARM 架构和 L4T OS 来了解如何设置 docker 以在 x86 机器上为 Jetson Nano 开发应用程序。

    2.什么是Docker容器 

    Docker 容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了docker引擎的服务器上(包括流行的Linux机器、windows机器),也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。

    安装 Docker

    要运行 docker 容器,你必须先下载安装 docker 引擎。按照[官网安装](Install Docker Engine | Docker Documentation)操作系统安装 docker。

    为 aarch64 配置 Docker

    1. sudo apt-get install qemu binfmt-support qemu-user-static # Install the qemu packages
    2. docker run --rm --privileged multiarch/qemu-user-static --reset -p yes # This step will execute the registering scripts
    3. docker run --rm -t arm64v8/ubuntu uname -m # Testing the emulation environment
    4. aarch64 # Outputs the correct architecture

    为 NVIDIA 配置 Docker

    1. distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
    2. curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
    3. curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
    4. sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
    5. sudo apt install -y nvidia-docker2
    6. sudo systemctl daemon-reload
    7. sudo systemctl restart docker

    拉取 NVIDIA Docker 容器

    运行docker pull nvcr.io/nvidia/l4t-base:r32.4.2以获取 docker 容器。

    运行容器:

    1.允许外部应用程序连接到主机的 X 显示器:

    xhost +
    

    2.使用 docker 命令运行 docker 容器

    sudo docker run -it --rm --net=host --runtime nvidia  -e DISPLAY=$DISPLAY -w /opt/nvidia/deepstream/deepstream-5.0 -v /tmp/.X11-unix/:/tmp/.X11-unix nvcr.io/nvidia/deepstream-l4t:5.0-dp-20.04-samples

    完成之后将会弹出一个交互式终端,其中 docker 容器正在运行!

  • 相关阅读:
    什么是分布式锁?几种分布式锁分别是怎么实现的?
    对于升级go1.18的goland问题
    QGraphicsView制作绘制图元工具资料整理(鼠标、平移、缩放)
    机器学习的打分方程汇总
    10月11日
    小项目第三天
    STM32 物联网 4G CAT1 SIMCOM A7680C 源码
    【自然语言处理(NLP)】基于Word2Vec的语言模型实践
    一体化运维监控:数据中心运维可视化的指挥中枢
    算法通关村第一关|青铜|链表笔记
  • 原文地址:https://blog.csdn.net/qq_46104786/article/details/125463629