我的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 开发应用程序。

我的NVIDIA开发者之旅——为 NVIDIA Jetson Nano 运行 Docker 容器(学习笔记)_第1张图片

2.什么是Docker容器 

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

我的NVIDIA开发者之旅——为 NVIDIA Jetson Nano 运行 Docker 容器(学习笔记)_第2张图片

安装 Docker

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

我的NVIDIA开发者之旅——为 NVIDIA Jetson Nano 运行 Docker 容器(学习笔记)_第3张图片

为 aarch64 配置 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

为 NVIDIA 配置 Docker

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

拉取 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 容器正在运行!

你可能感兴趣的:(docker,ubuntu,运维)