构建Dockerfile使用非零代码139执行



描述/复制步骤

我正试图在我的Raspberry Pi 1上的docker容器中运行opc-ua服务器examle"server_ctt"(从这里使用open62541库(,但是我没能创建docker镜像。

我按照这里的说明,一开始克隆了repo。之后,我尝试通过在open62541目录中执行以下命令来构建映像:docker build -f docker/Dockerfile .

这是我在终端中得到的输出:

pi@raspberrypi:~/ma/dockerVersion/open62541 $ docker build -f docker/Dockerfile                         .
Sending build context to Docker daemon  38.69MB
Step 1/18 : FROM alpine:3.10
3.10: Pulling from library/alpine
4e972d957a60: Pull complete
Digest: sha256:7c3773f7bcc969f03f8f653910001d99a9d324b4b9caa008846ad2c3089f5a5f
Status: Downloaded newer image for alpine:3.10
 ---> cf7ea1e5a972
Step 2/18 : RUN apk add --no-cache cmake gcc git g++ musl-dev mbedtls-dev python py-pip make && rm -rf /var/cache/apk/*
 ---> Running in 82c8b5868509
The command '/bin/sh -c apk add --no-cache cmake gcc git g++ musl-dev mbedtls-dev python py-pip make && rm -rf /var/cache/apk/*' returned a non-zero code: 139

在此之前,我已经使用的便利脚本在我的树莓皮上安装了docker

关于如何解决这个问题有什么建议吗?

背景信息

我通过PuTTy连接到我的树莓派。但我想这没什么区别。此外,在Windows上构建映像并运行server_ctt示例完全可以。

编辑:

由于在我的windows电脑上构建/运行open62541映像,我试图将其保存并复制到我的树莓派1中。我的树莓派上的docker加载命令运行得很好,运行图像输出如下错误:

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

这可能是由于不同的体系结构(因为树莓派1使用ARM体系结构(。我该如何解决这个问题?

要回答更新后的问题:您可以使用实验性的docker buildx命令为Raspberry Pi构建。

这将创建一些虚拟化的构建器,这些构建器将为所需的体系结构构建容器。因此,构建过程可能需要更长的时间(我认为10倍对我的项目来说是现实的(。

对于您的案例,最重要的命令是类似的命令

docker buildx build --platform linux/arm/v7 .

相关内容

  • 没有找到相关文章

最新更新