Dockerfile在本地机器上编译,但在docker hub中自动生成失败

我试图通过链接我的github回购包含一个Dockerfile在docker集线器中自动构build泊坞窗图像。 这个图像是Raspberry Pi 3(可以在Dockerfile中看到)。 虽然Dockerfile在Raspberry Pi中工作正常,但它在x86_64 GNU / Linux机器中发生错误,而在Docker中心也无法编译。 这里是Docker中心的日志。 在Docker集线器和x86_64 GNU / Linux机器中,最后的错误是一样的。

Building in Docker Cloud's infrastructure... Cloning into '.'... KernelVersion: 4.4.0-79-generic Arch: amd64 BuildTime: 2017-03-28T19:26:53.326478373+00:00 ApiVersion: 1.27 Version: 17.03.1-ee-2 MinAPIVersion: 1.12 GitCommit: ad495cb Os: linux GoVersion: go1.7.5 Starting build of index.docker.io/swapnil18/docker-swarm-arm-socat:latest... Step 1/11 : FROM resin/raspberrypi3-alpine ---> ca84ecc9fee4 Step 2/11 : MAINTAINER Swapnil Das <dasswapnil96@gmail.com> ---> Running in 2a99be7f728e ---> e4c7fdd1bc5b Removing intermediate container 2a99be7f728e Step 3/11 : ARG "version=0.1.0-dev" ---> Running in 1019fe4333d4 ---> d50c71235386 Removing intermediate container 1019fe4333d4 Step 4/11 : ARG "build_date=5/7/17" ---> Running in cbf271f27274 ---> c9af4b356b3c Removing intermediate container cbf271f27274 Step 5/11 : ARG "commit_hash=unknown" ---> Running in 1778288bf297 ---> 35d52f36b527 Removing intermediate container 1778288bf297 Step 6/11 : ARG "vcs_url=unknown" ---> Running in db86bc110c3d ---> 9062830e7754 Removing intermediate container db86bc110c3d Step 7/11 : ARG "vcs_branch=unknown" ---> Running in 919c08a0f584 ---> 9532842acc1b Removing intermediate container 919c08a0f584 Step 8/11 : LABEL org.label-schema.vendor "Personal" org.label-schema.name "Socat" org.label-schema.description "Exposes to a defined OUTPUT PORT the INPUT from a TCP endpoint." org.label-schema.usage "/src/README.md" org.label-schema.url "https://github.com/swapnil96/docker-swarm-arm-socat/blob/master/README.md" org.label-schema.vcs-url $vcs_url org.label-schema.vcs-branch $vcs_branch org.label-schema.vcs-ref $commit_hash org.label-schema.version $version org.label-schema.schema-version "1.0" org.label-schema.docker.cmd.devel "" org.label-schema.docker.params "IN=Input,OUT=Output" org.label-schema.build-date $build_date ---> Running in 641e40ae7219 ---> 9c5d5da14397 Removing intermediate container 641e40ae7219 Step 9/11 : ENV "IN 172.18.0.1:4999" "OUT 4999" ---> Running in 866b338a1588 ---> 3c046f12eb1e Removing intermediate container 866b338a1588 Step 10/11 : RUN apk add --no-cache socat ---> Running in 86d0de61864f [91mstandard_init_linux.go:178: exec user process caused "exec format error" [0m Removing intermediate container 86d0de61864f The command '/bin/sh -c apk add --no-cache socat' returned a non-zero code: 1 

如上图所示,通过The command '/bin/sh -c apk add --no-cache socat' returned a non-zero code: 1 。 Dockerfile是否有一些架构问题? 或者树脂/高山基本图像存在一些问题。 我已经为Raspberry Pi构build了其他的Docker文件,并且都编译好了。

出于工作目的,我只是推送在树莓派内build的图像。 但是有一个自动化的版本库要好得多。 所以请纠正我,如果我正在做一些明显的错误。

这里是链接到我的其他版本在docker中心链接 。

PS:我已经尝试了在stackoverflow提到的其他选项。 我试图发布其他问题的链接,但由于不到10个声望,我只给了2个链接。

这是因为Raspberry Pi运行在arm上 ,docker hub不支持arm x86 ,如果你希望在docker hub上构builddocker镜像,你将需要对你的docker镜像进行编辑。 我以前做过这个,但是它已经很老了,但是看看resin io的工作还是基于我的定制。 该方法使用qemu模拟arm架构,允许映像在Raspberry Piarm设备上原生运行,同时仍然可以在像docker hub这样的x86平台上通过qemu进行编译。