背景:
在x86平台构建arm镜像,
CentOS Linux release 7.8.2003 (Core)
Docker version 20.10.22, build 3a2c30b
.
.
过程:
设置属性,重启:"experimental": true,
docker buildx install
docker buildx create --platform=linux/arm64 --name arm64-hn
docker buildx use arm64-hn
cat Dockerfile
FROM nginx:stable-perl
LABEL maintainer=".cn"
RUN mkdir -p /opt/test
RUN nginx -v
docker buildx build --platform=linux/arm64 -t test . --load
[+] Building 5.9s (8/8) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 250B 0.0s
=> [internal] load metadata for nginx:stable-perl 4.6s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [1/3] FROM nginx:stable-perl@sha256:bb99ae95b8ce6a10d397d0b8998cfe12ac055baabd917be9e00cd095991b 0.0s
=> => resolve nginx:stable-perl@sha256:bb99ae95b8ce6a10d397d0b8998cfe12ac055baabd917be9e00cd095991b 0.0s
=> CACHED [2/3] RUN mkdir -p /opt/test 0.0s
=> CACHED [3/3] RUN nginx -v 0.0s
=> exporting to docker image format 1.1s
=> => exporting layers 0.0s
=> => exporting manifest sha256:848c67e0d8c7b903ebd88da98ebcc3f01ecb528a40ee1929508edef5494618b9 0.0s
=> => exporting config sha256:80a27c1a1647f759a188233de36464acd35c38cc0cb3b43914c74160ba1ec6c1 0.0s
=> => sending tarball 1.1s
=> WARN: Requested platform "linux/amd64" does not match result platform "linux/arm64" 1.1s
=> importing to docker 0.1s
1 warning found (use --debug to expand):
- Requested platform "linux/amd64" does not match result platform "linux/arm64"
成功,镜像传到arm,可用!
.
.
.
.
问题:
1、只能联网使用,搜索了一遍,说是要获取manifest。
2、docker build -t test . --load X86的构建不能用了!命令执行后,会像断网时的 buildx
两情况报错基本相同,如下:
[+] Building 5.9s (2/2) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 256B 0.0s
=> ERROR [internal] load metadata for nginx:stable-perl 5.8s
------
> [internal] load metadata for nginx:stable-perl:
------
Dockerfile:1
--------------------
1 | >>> FROM nginx:stable-perl
2 |
3 | LABEL maintainer=".cn"
--------------------
ERROR: failed to solve: nginx:stable-perl: failed to resolve source metadata for nginx:stable-perl: nginx:stable-perl: not found
折腾了几天,搜索几圈也没见相关内容。
求各位指点一下问题解决方向。万分感谢!