Raspberry-pi docker 错误:standard_init_linux.go:178:exec 用户进程导致“exec 格式错误”
Posted
技术标签:
【中文标题】Raspberry-pi docker 错误:standard_init_linux.go:178:exec 用户进程导致“exec 格式错误”【英文标题】:Raspberry-pi docker error: standard_init_linux.go:178: exec user process caused "exec format error" 【发布时间】:2017-08-10 15:57:32 【问题描述】:我已经根据官方说明在 rapsbian 中安装了 docker(即运行 curl -sSL https://get.docker.com | sh
),但我无法运行 hello-world 示例(我也尝试了其他示例但没有成功)。这是我得到的错误:
pi@raspberrypi2:~ $ docker run hello-world
standard_init_linux.go:178: exec user process caused "exec format error"
我的环境是带有 Raspbian GNU/Linux 8 (jessie) 和 Docker 版本 17.03.0-ce 的 Raspberry Pi 2 Model B,构建 60ccb22。
关于问题的任何提示或解决问题的可能方向?
非常感谢!
【问题讨论】:
【参考方案1】:Raspberries 使用 ARM 而不是 x86_64 处理器。您只能运行为该架构创建的映像。尝试在 docker hub 上搜索 ARM 或 ARMv7。我知道有一个Debian ARM 图像,但肯定还有其他图像。
根本问题是 ARM 使用的二进制格式与 x86_64 不兼容,这是大多数桌面和服务器系统使用的架构。
【讨论】:
你是对的,谢谢!在这个链接 (hub.docker.com/u/armhf) 中有一些有用的官方(目前处于实验阶段)ARM 架构的图像,包括hello-world
示例。
截至 2019 年 11 月,Docker 拥有可同时构建多个架构的设施:mirailabs.io/blog/multiarch-docker-with-buildx【参考方案2】:
添加到文件的开头:
#!/bin/bash
对我有用
【讨论】:
@Kairat Koibagarov 添加到文件开头是什么意思...什么文件? 您可能已将脚本文件作为 CMD 放入您的 dockerfile 中。如果是这样,你可以在这个脚本文件的开头添加这个来告诉你的系统如何读取它(这里是一个shell脚本)以上是关于Raspberry-pi docker 错误:standard_init_linux.go:178:exec 用户进程导致“exec 格式错误”的主要内容,如果未能解决你的问题,请参考以下文章
sh 更新youtube-dl #tags:raspberry-pi
样式表元素适用于 Windows,但不适用于 raspberry-pi
WebDriverException:消息:使用 ChromeDriver 和 Selenium 在 Raspberry-Pi 上意外退出服务 /usr/lib/chromium-browser/ch