Docker on nvidia Jetson Nano not executing



我正在设置一个 nvidia jetson nano 来运行 docker 容器。我正在使用已经在x86_64 Ubuntu 16.04 机器上使用的安装程序,其中 docker 运行流畅。尽管如此,docker 似乎设置正确,但我无法运行它。

我按照 http://nvidia.com/jetsonnano-start 中所述刷新了jetson SD卡,并通过键盘和屏幕设置了语言等。 在那之后,我无头并通过 ssh 安装。我使用的命令显示在下面的列表中。

# in case apt-get is interrupted, e.g. if board freezes, use: $ sudo dpkg --configure -a
sudo apt-get update && apt-get -y upgrade
# install Docker, from https://docs.docker.com/install/linux/docker-ce/ubuntu/
sudo apt install -y 
git 
apt-transport-https 
ca-certificates 
curl 
gnupg2 
software-properties-common
# Get the Docker signing key for packages
curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | sudo apt-key add -
# Add the Docker official repos
echo "deb [arch=arm64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") 
$(lsb_release -cs) stable" | 
sudo tee /etc/apt/sources.list.d/docker.list
# Install Docker
sudo apt update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
# starting Docker and enabling it at boot
sudo systemctl enable docker
sudo systemctl start docker
# ad user to docker group, so docker commands can be executed without sudo
sudo gpasswd -a $USER docker
newgrp docker
# install docker-compose
sudo apt-get install -y python-pip python-dev libffi6 libffi-dev libssl-dev libxml2-dev libxslt1-dev libjpeg8-dev zlib1g-dev
sudo -H pip install docker-compose

安装后,我可以看到

$ docker --version
Docker version 19.03.2, build 6a30dfc

但是,在执行某些内容时,我收到 exec 格式错误

$ docker run jupyter/minimal-notebook
standard_init_linux.go:211: exec user process caused "exec format error"

Docker确实拉取了映像。在 Dockerfiles 中,WORKDIR命令有效,但RUN命令会产生相同的"exec 格式错误"。

非常感谢有关如何在没有错误的情况下运行的任何帮助或提示

问题是jetson nano的架构是aarch64(64位ARM(。没有为此构建Anaconda,但是存在一个名为Archiconda的项目,它进入了这个空白。

看: https://devtalk.nvidia.com/default/topic/1051415/jetson-nano/anaconda-for-jetson-nano/

对于 Jetson Nano 上 Docker 的 Jupyter 笔记本,它帮助我遵循了这个 Dockerfile(来自上面的链接(: https://github.com/helmuthva/jetson/blob/master/workflow/deploy/ml-base/src/Dockerfile

Docker 不是一个完整的虚拟机。为x86_64构建的程序不会在不兼容的处理器上运行。您需要构建和使用 Docker 的 aarch64 版本,这可能需要从源代码构建。

许多重要的 Python 包都包含可能不兼容的 C/C++ 内核,但 Python 会在安装过程中编译它们。

最新更新