Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] arm64 架构机器构建容器镜像时未正确拉取基础镜像 #1178

Open
1 task done
royenheart opened this issue Mar 26, 2024 · 3 comments
Open
1 task done

Comments

@royenheart
Copy link

是否已有关于该错误的issue或讨论? | Is there an existing issue / discussion for this?

  • 我已经搜索过已有的issues和讨论 | I have searched the existing issues / discussions

发生了什么 | What happened

使用 arm64 架构机器,按照官方文档构建 SCOW 容器镜像时,遇到如下错误:

[root@head SCOW]# docker build -f docker/Dockerfile.scow -t scow .
[+] Building 93.3s (6/27)                                                                                                                                                                                                                                                                        docker:default
 => [internal] load build definition from Dockerfile.scow                                                                                                                                                                                                                                                  0.0s
 => => transferring dockerfile: 1.58kB                                                                                                                                                                                                                                                                     0.0s
 => [internal] load metadata for docker.io/library/node:iron-alpine@sha256:121edf6661770d20483818426b32042da33323b6fd30fc1ad4cd6890a817e240                                                                                                                                                                5.3s
 => [internal] load .dockerignore                                                                                                                                                                                                                                                                          0.0s
 => => transferring context: 141B                                                                                                                                                                                                                                                                          0.0s
 => [internal] load build context                                                                                                                                                                                                                                                                          0.5s
 => => transferring context: 70.67MB                                                                                                                                                                                                                                                                       0.5s
 => [base 1/2] FROM docker.io/library/node:iron-alpine@sha256:121edf6661770d20483818426b32042da33323b6fd30fc1ad4cd6890a817e240                                                                                                                                                                            86.9s
 => => resolve docker.io/library/node:iron-alpine@sha256:121edf6661770d20483818426b32042da33323b6fd30fc1ad4cd6890a817e240                                                                                                                                                                                  0.0s
 => => sha256:092226d52cac3f544d7973fe7ba4416bc2cd5b69e4016804efb95026fe6b108b 2.34MB / 2.34MB                                                                                                                                                                                                            13.9s
 => => sha256:121edf6661770d20483818426b32042da33323b6fd30fc1ad4cd6890a817e240 1.16kB / 1.16kB                                                                                                                                                                                                             0.0s
 => => sha256:ae7f6c370720be0fd4120606ee84f6170037f6c163b91522eea08cbe574d78ff 7.14kB / 7.14kB                                                                                                                                                                                                             0.0s
 => => sha256:4abcf20661432fb2d719aaf90656f55c287f8ca915dc1c92ec14ff61e67fbaf8 3.41MB / 3.41MB                                                                                                                                                                                                             6.7s
 => => sha256:9f16480e2ff54481cb1ea1553429bf399e8269985ab0dec5b5af6f55ea747d3f 42.19MB / 42.19MB                                                                                                                                                                                                          85.6s
 => => extracting sha256:4abcf20661432fb2d719aaf90656f55c287f8ca915dc1c92ec14ff61e67fbaf8                                                                                                                                                                                                                  0.1s
 => => sha256:0493dfb2ff9c5bd770291dc14d4e30caff25c72bcdfbea04e9bf2f4013e21db0 448B / 448B                                                                                                                                                                                                                 7.2s
 => => extracting sha256:9f16480e2ff54481cb1ea1553429bf399e8269985ab0dec5b5af6f55ea747d3f                                                                                                                                                                                                                  1.1s
 => => extracting sha256:092226d52cac3f544d7973fe7ba4416bc2cd5b69e4016804efb95026fe6b108b                                                                                                                                                                                                                  0.0s
 => => extracting sha256:0493dfb2ff9c5bd770291dc14d4e30caff25c72bcdfbea04e9bf2f4013e21db0                                                                                                                                                                                                                  0.0s
 => ERROR [base 2/2] RUN apk update                                                                                                                                                                                                                                                                        1.0s
------                                                                      
 > [base 2/2] RUN apk update:
0.209 exec /bin/sh: exec format error
------
Dockerfile.scow:14
--------------------
  12 |     FROM node:iron-alpine@sha256:121edf6661770d20483818426b32042da33323b6fd30fc1ad4cd6890a817e240 AS base
  13 |     
  14 | >>> RUN apk update
  15 |     
  16 |     FROM base as builder
--------------------
ERROR: failed to solve: process "/bin/sh -c apk update" did not complete successfully: exit code: 1

分析是因为 Dockerfile.scow 使用了 amd64 架构的 nodejs 基础镜像:

# Dockerfile.scow
FROM node:iron-alpine@sha256:121edf6661770d20483818426b32042da33323b6fd30fc1ad4cd6890a817e240 AS base

查看该 DIGEST 对应的镜像信息:

[root@head SCOW]# docker image inspect node:iron-alpine@sha256:121edf6661770d20483818426b32042da33323b6fd30fc1ad4cd6890a817e240
.....
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 136635104,
.....

Docker Hub 支持架构
Docker Hub 支持架构2

将使用的基础镜像改为 node:iron-alpine3.19 运行正常(包括 Dockerfile.docs):

解决与证明

期望结果 | What did you expect to happen

No response

之前运行正常吗? | Did this work before?

该 Bug 在 #1168 中被引入。

复现方法 | Steps To Reproduce

No response

运行环境 | Environment

- OS: Huawei Cloud EulerOS 2.0 (aarch64)
- Scheduler: Slurm 22.05.3
- Docker: 26.0.0
- Docker-compose: v2.25.0
- SCOW cli: 
- SCOW: master 分支 #1176
- Adapter:

备注 | Anything else?

No response

@vanstriker
Copy link
Member

新版本应该已经解决该问题

@royenheart
Copy link
Author

不行,在最近的提交 #1248 中仍然使用了amd64架构的镜像:
FROM node:iron-alpine@sha256:f3d945e503328d76a54533ce1cbe8d6de03df16b00002f2ec1a890a28d1d6bd6 AS base
image
image

@huangjun0210
Copy link
Member

node:iron-alpine镜像有arm64的,编译arm64镜像时,将dockerFile中的@sha256:121edf6661770d20483818426b32042da33323b6fd30fc1ad4cd6890a817e240去掉即可

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants