Docker nvidia Jetson Nano 未执行

Docker on nvidia Jetson Nano not executing

我正在为 运行 docker 容器设置 nvidia jetson nano。我正在使用我已经在我的 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

然而,当执行某些东西时,我得到执行格式错误

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

Docker 确实拉取了图像。在 Docker 文件中,WORKDIR 命令有效,但 RUN 命令产生相同的 'exec format error'.

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

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

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

对于 Jetson Nano 上 Docker 的 jupyter notebook,它帮助我遵循这个 Docker 文件(来自上面的 link): https://github.com/helmuthva/jetson/blob/master/workflow/deploy/ml-base/src/Dockerfile

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

许多重要的 Python 软件包包含可能也不兼容的 C/C++ 核心,但 Python 在安装期间编译它们。