2017-07-05 31 views
1

我想通過鏈接包含Dockerfile的我的github repo來在Docker集線器中自動構建Docker鏡像。這張圖片是用於Raspberry Pi 3的(可以在Dockerfile中看到)。雖然Dockerfile在樹莓派工作正常,它給錯誤x86_64的GNU/Linux的機也泊塢樞紐它無法編譯。以下是Docker中心的日誌。 Docker集線器和x86_64 GNU/Linux機器中的最終錯誤是相同的。Dockerfile在本地機器中編譯但在Docker集線器中失敗,無法自動構建

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 <[email protected]> 

---> 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構建了其他Docker文件,並且所有編譯都很好。

出於工作目的,我只會推送在Raspberry Pi內置的圖像。但是擁有一個自動構建倉庫會更好。所以如果我正在做一些明顯的錯誤,請糾正我。

這裏是我的其他版本在碼頭集線器link的鏈接。 PS:我已經嘗試過在stackoverflow中提到的其他選項。我試圖發佈其他問題的鏈接,但由於不到10個聲望,我只能發佈2個鏈接。

+0

哇在這一天花了整整一天,同樣的問題,我的基礎圖像是「resin/rpi-raspbian:jessie」,我在chmod命令上出錯,你有沒有找到解決方案? –

+0

看看這裏的例子幫助我:https://github.com/alexellis/docker-arm –

+0

直到現在還沒有解決。我現在正在使用不同版本的標籤。自動構建被移至失敗的標記,我將構建在Raspberry Pi中的圖像作爲最新的標記。 – SWAPNIL

回答

0

這是因爲樹莓派運行在手臂和碼頭工人樞紐不支持手臂只有,如果你不希望建立在碼頭工人樞紐泊塢窗圖像,您將需要進行編輯你的碼頭形象。我以前做過這個,但它很老,但看看resin io's work或我自己定製的基礎上,超過here。該方法模擬架構QEMU允許圖像上臂本地運行設備,如一個樹莓裨同時仍具有要由QEMU上平臺等搬運工轂編譯的能力。

相關問題