2017-07-05 4 views
1

Ich versuche, ein automatisches Build-Docker-Image im Docker-Hub zu erstellen, indem ich meine github repo verbindet, die eine Dockerfile enthält. Dieses Bild ist für Raspberry Pi 3 (kann in Dockerfile gesehen werden). Während die Dockerfile funktioniert in Raspberry Pi gibt es Fehler in x86_64 GNU/Linux Maschine und auch in Docker Hub es nicht kompilieren. Hier ist das Protokoll von Docker Hub. Der letzte Fehler ist in Docker-Hub und x86_64 GNU/Linux-Maschine identisch.Dockerfile kompiliert auf dem lokalen Computer aber schlägt in Docker-Hub für den automatisierten Build fehl

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 

Wie es in den letzten gesehen werden kann es durch The command '/bin/sh -c apk add --no-cache socat' returned a non-zero code: 1 ausfällt. Hat die Dockerfile ein Architekturproblem? oder es gibt ein Problem mit dem Basisbild, welches Harz/Alpin ist. Ich habe andere Dockerfiles für Raspberry Pi gebaut und alle haben es gut zusammengestellt.

Für Arbeitszwecke werde ich nur das Bild, das in Raspberry Pi eingebaut ist. Aber ein automatisiertes Build-Repository ist viel besser. Also korrigiere mich bitte, wenn ich einen offensichtlichen Fehler mache.

Hier ist der Link zu meinen anderen Builds in Docker Hub link.

PS: Ich habe andere Optionen bei Stackoverflow versucht. Ich habe versucht, die Links der anderen Fragen zu posten, aber aufgrund von weniger als 10 Reputation wurde ich nur dazu aufgefordert, 2 Links zu posten.

+0

wow habe den ganzen Tag damit verbracht, dasselbe Problem, mein Basisbild ist "harz/rpi-raspbian: jessie" und ich bekomme einen Fehler auf einem chmod Befehl, hast du jemals eine Lösung gefunden? –

+0

Ein Blick auf Beispiele hier hat mir geholfen: https://github.com/alexellis/docker-arm –

+0

Habe bis jetzt nicht gelöst. Ich verwende jetzt Tags für verschiedene Builds. Der automatisierte Build wurde in ein fehlgeschlagenes Tag verschoben und ich habe Bilder, die in Raspberry Pi's erstellt wurden, als letztes Tag verschoben. – SWAPNIL

Antwort

0

Dies liegt daran, ein Raspberry Pi auf Arm läuft und Docker Hub unterstützt nicht Arm nur x86, wenn Sie die Docker Bild auf Docker Hub aufbauen möchten, müssen Sie Änderungen vornehmen zu Ihr Docker-Bild. Ich habe das schon mal gemacht, aber es ist ziemlich alt, aber sehen Sie sich resin io's work oder meine eigene Anpassung basierend auf dem here an. Dieses Verfahren emuliert Arm Architektur mit qemu dem Bild ermöglicht native Geräte wie ein Himbeere Pi auf Arm auszuführen, während immer noch die Fähigkeit aufweisen, durch qemu auf einer x86 Plattform wie Andockfensters Nabe kompiliert werden.

Verwandte Themen