在x86机器上跑arm容器
1.拉取包
[root@localhost ~]# docker pull arm64v8/centos
Using default tag: latest
latest: Pulling from arm64v8/centos
52f9ef134af7: Pull complete
Digest: sha256:65a4aad1156d8a0679537cb78519a17eb7142e05a968b26a5361153006224fdc
Status: Downloaded newer image for arm64v8/centos:latest
docker.io/arm64v8/centos:latest
2.启动失败
[root@localhost ~]# docker run -it --name=c1 arm64v8/centos /bin/bash
WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64) and no specific platform was requested
exec /bin/bash: exec format error
3.QEMU来虚拟出Arm的架构
下载连接:
https://github.com/multiarch/qemu-user-static/releases/download/v7.2.0-1/qemu-aarch64-static
下载之后相关操作
[root@localhost ~]# sudo cp qemu-aarch64-static /usr/bin/
[root@localhost ~]# sudo chmod +x /usr/bin/qemu-aarch64-static
4.运行arm容器
docker run --rm -it \
-v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static \
-v /etc/timezone:/etc/timezone:ro \
-v /etc/localtime:/etc/localtime:ro \
arm64v8/centos \
bash
5.检查版本
[root@97baca8a5021 /]# uname
Linux
[root@97baca8a5021 /]# uname -m
aarch64