x86上运行arm64/飞腾 mips64el/龙芯 docker 容器

x86上运行arm64/飞腾 mips64el/龙芯 docker 容器

  • aarch64/arm64/飞腾
  • mips64el/龙芯

Docker Hub 上可以找到各种非 x86_64 平台的镜像,但是在x86上直接运行会报错:

panic: standard_init_linux.go:175: exec user process caused “exec format error” [recovered]

aarch64/arm64/飞腾

1.在 x86_64 平台上缺少运行 arm64v8 的容器所需要的“环境依赖”,值得庆幸的是在 Linux 上我们可以用 QEMU 来做到跨平台运行,QEMU 的 User-mode emulation 对于容器技术来说是最适合的模式。
https://github.com/multiarch/qemu-user-static/releases下载qemu-xxx-static文件,注意要根据自己平台选择,如arm64是qemu-aarch64-static,arm32是qemu-arm-static,选错文件后面的步骤会失败。

2.拷贝文件

// An highlighted block
sudo cp qemu-aarch64-static /usr/bin/
chmod +x /usr/bin/qemu-aarch64-static

3.运行命令

docker run --rm --privileged multiarch/qemu-user-static:register

4.运行docker

docker run -it -v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static arm64v8/ubuntu:16.04

mips64el/龙芯

5.龙芯平台只需要下载相应的qemu-mips64el-static以及相应的镜像即可

你可能感兴趣的:(docker,linux,ubuntu)