"我的NVIDIA开发者之旅” | 征文活动进行中.......
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 开发应用程序。
Docker 容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了docker引擎的服务器上(包括流行的Linux机器、windows机器),也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。
要运行 docker 容器,你必须先下载安装 docker 引擎。按照[官网安装](Install Docker Engine | Docker Documentation)操作系统安装 docker。
- sudo apt-get install qemu binfmt-support qemu-user-static # Install the qemu packages
-
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes # This step will execute the registering scripts
-
- docker run --rm -t arm64v8/ubuntu uname -m # Testing the emulation environment
- aarch64 # Outputs the correct architecture
- distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
- curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
- curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
- sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
- sudo apt install -y nvidia-docker2
- sudo systemctl daemon-reload
- sudo systemctl restart 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 容器正在运行!