运行 docker nanoPI 上的容器导致 "exec format error"

Running docker container on nanoPI leads to "exec format error"

目标是在我的 nanoPI 上 运行 docker 容器,其方式与在 ubuntu 服务器计算机上的方式相同。

我最近 运行 在尝试 docker run -it kylemanna/openvpn 时遇到以下错误:

standard_init_linux.go:185: exec user process caused "exec format error"

我在使用 container approach

执行 docker-compose 时也遇到同样的错误

自从我遇到是否使用docker compose 的问题后,我开始认为错误可能是我在nanoPI 上使用docker。可能不支持同样的方式。

不过,我可以执行其他containers/images就好了,hello-worldubuntu

如何确定此错误的原因? standard_init_linux.go:185 的源代码在哪里?而且,我做错了什么?

通过反复试验,我发现如果我直接从 github repository 在容器将 运行 使用 (docker build <url>) 的机器上重建 openvpn 图像,然后此错误已针对 openvpn 容器解决,但尚未针对 docker-compose 解决。我想重建 docker-compose 容器也能解决那个问题。

这很可能是因为没有为我使用的机器类型编译二进制文件。

Source/Inspiration: https://github.com/moby/moby/issues/23865