Dockerfile 在本地计算机中编译但在 docker 自动构建中心失败
Dockerfile compile in local machine but fails in docker hub for automated build
我正在尝试通过 linking 我的 github repo 在 docker 中心创建一个自动构建 docker 图像,其中包含一个 Docker 文件。此图像用于 Raspberry Pi 3(可以在 Docker 文件中看到)。虽然 Docker 文件在 Raspberry Pi 中工作正常,但在 x86_64 GNU/Linux[=28= 中出错] 机器,也在 Docker hub 中编译失败。这是来自 Docker hub 的日志。 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
而失败。 Docker文件是否存在架构问题?或者基础图像 resin/alpine 有问题。我已经为 Raspberry Pi 构建了其他 Docker 文件,并且都编译良好。
出于工作目的,我将只推送 Raspberry Pi 中内置的图像。但是拥有一个自动构建存储库要好得多。所以如果我犯了一些明显的错误,请纠正我。
这是 link 我在 docker 中心 link 中的其他构建。
PS:我已经尝试过 Whosebug 中提到的其他选项。我尝试 post 其他问题的 links 但由于不到 10 的声誉我只给了 post 2 links.
这是因为Raspberry Pi 运行s on arm and docker hub不支持 arm 仅 x86,如果您确实希望在 docker 集线器上构建 docker 映像,则需要编辑您的 docker 图片。我以前做过这个,但它很旧,但看看 resin io's work or my own customisation based off of that over here。此方法使用 qemu 模拟 arm 架构,允许图像 运行 在 arm 设备上本地 [=29] =] 同时仍然能够在 x86 平台上由 qemu 编译,例如 docker hub.
我正在尝试通过 linking 我的 github repo 在 docker 中心创建一个自动构建 docker 图像,其中包含一个 Docker 文件。此图像用于 Raspberry Pi 3(可以在 Docker 文件中看到)。虽然 Docker 文件在 Raspberry Pi 中工作正常,但在 x86_64 GNU/Linux[=28= 中出错] 机器,也在 Docker hub 中编译失败。这是来自 Docker hub 的日志。 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
而失败。 Docker文件是否存在架构问题?或者基础图像 resin/alpine 有问题。我已经为 Raspberry Pi 构建了其他 Docker 文件,并且都编译良好。
出于工作目的,我将只推送 Raspberry Pi 中内置的图像。但是拥有一个自动构建存储库要好得多。所以如果我犯了一些明显的错误,请纠正我。
这是 link 我在 docker 中心 link 中的其他构建。
PS:我已经尝试过 Whosebug 中提到的其他选项。我尝试 post 其他问题的 links 但由于不到 10 的声誉我只给了 post 2 links.
这是因为Raspberry Pi 运行s on arm and docker hub不支持 arm 仅 x86,如果您确实希望在 docker 集线器上构建 docker 映像,则需要编辑您的 docker 图片。我以前做过这个,但它很旧,但看看 resin io's work or my own customisation based off of that over here。此方法使用 qemu 模拟 arm 架构,允许图像 运行 在 arm 设备上本地 [=29] =] 同时仍然能够在 x86 平台上由 qemu 编译,例如 docker hub.