在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
posted @ 2023-04-11 12:08  罗论明  阅读(125)  评论(0编辑  收藏  举报