docker - nvidia Jetson Nano 上的 Docker 未执行
问题描述
我正在设置一个 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
命令产生相同的“执行格式错误”。
非常感谢任何有关如何无错误运行的帮助或提示
解决方案
问题是 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
推荐阅读
- reactjs - 如何在反应中为按钮分配一个值
- javascript - 如何从 Laravel 数组验证中访问返回的元素?
- curl - 无法将视图添加到我在 couchDB 中的现有数据库
- bash - 在 Windows 上的 mobaxterm 上使用完整路径时,命令 mkdir -p 返回:“mkdir:无法创建目录'/drives/f/':权限被拒绝”
- bash - 使用 Groovy 脚本列出具有活动选择的分支
- python - 如何在 Ubuntu 上的 LibreOffice 中打开 xlsx 文件?
- angular - 处理 Angular 材料反应形式错误消息的最佳方法是什么?
- unity3d - Unity 中有什么方法可以在内置管道中使用 HDRP 制作贴花投影仪之类的东西吗?
- php - Laravel Nova 条件验证:required_if + 存在规则
- linux - 如何向 docker 容器添加 SSH 访问权限