簡體   English   中英

在Raspberry Pi 3 B +上拉arm32v7 Docker容器映像

[英]Pulling arm32v7 Docker container images on Raspberry Pi 3 B +

我有安裝了Docker的Raspberry Pi 3 B +。 我正在嘗試獲取最新的ARMv7版本的golang容器映像,如下所示。

當我在映像上運行docker pull命令時,出現以下一般錯誤。

pi@trevorpi:~ $ docker pull arm32v7/golang:latest
Pulling repository docker.io/arm32v7/golang
Tag latest not found in repository docker.io/arm32v7/golang

這是我正在運行的Docker版本:

pi@trevorpi:~ $ docker version
Client:
 Version:      1.8.3
 API version:  1.20
 Go version:   go1.4.3
 Git commit:   f4bf5c7
 Built:
 OS/Arch:      linux/arm

Server:
 Version:      1.8.3
 API version:  1.20
 Go version:   go1.4.3
 Git commit:   f4bf5c7
 Built:
 OS/Arch:      linux/arm

這是uname -a的輸出,表明它是ARMv7:

Linux trevorpi 4.14.71-v7+ #1145 SMP Fri Sep 21 15:38:35 BST 2018 armv7l GNU/Linux

顯然,用於golang的x86 Docker映像不起作用,因為它與ARM不兼容。 我可以提取圖像,但是由於處理器體系結構而無法運行:

pi@trevorpi:~ $ docker pull golang:latest
latest: Pulling from library/golang

836de16dcbe9: Already exists
490028bf21ec: Already exists
b9aece5a7acf: Already exists
e5bf67252042: Already exists
a221240e1da3: Already exists
efcf11bc5c78: Already exists
32d2d4bbdbd3: Already exists
599e9bccee8b: Already exists
b77bfa353366: Already exists
dc799d5ef217: Already exists
cb12e793d3e1: Already exists
c984412a4f12: Already exists
Digest: sha256:ce05c9f8151cc4ff3ce508509720597d103b630aa024bcfb012107149abfa361
Status: Image is up to date for golang:latest
pi@trevorpi:~ $ docker run --rm -it golang
WARNING: Your kernel does not support memory swappiness capabilities, memory swappiness discarded.
exec format error
Error response from daemon: Cannot start container 0c04cb7f7192f2059b029637bd6306c0a4ff83299e3a20df920b3ea56339ab7a: [8] System error: exec format error

問題 :我手動驗證了latest標簽是否有效。 我需要怎么做才能拉出這張圖片?

也許您正在嘗試下載不適用於您的系統(操作系統或體系結構)的映像。

$ docker manifest inspect -v arm32v7/golang:latest
[
    {
        "Ref": "docker.io/arm32v7/golang:latest@sha256:faf19ab885f9d0779bbbd615eee610c5aedfdd203ac5fceefbd5fc8afd73a2ac",
        "Descriptor": {
            "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
            "digest": "sha256:faf19ab885f9d0779bbbd615eee610c5aedfdd203ac5fceefbd5fc8afd73a2ac",
            "size": 1795,
            "platform": {
                "architecture": "arm",
                "os": "linux",
                "variant": "v7"
            }

您確定您的樹莓使用arm v7架構嗎? 不幸的是,我自己沒有覆盆子,所以我無法重現此問題。 您是否嘗試過使用除最新標簽以外的其他標簽? 另外,您可以嘗試自己構建此映像。 高朗回購

也許嘗試使用golang的官方存儲庫:

docker pull golang:latest

它們還支持您的體系結構:

支持的體系結構:md64,arm32v6,arm32v7,arm64v8,i386,ppc64le,s390x,windows-amd6

也許這是連接/防火牆問題。 您可以從其他存儲庫中提取信息嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM