Docker 多架构支持 (QEMU)#
使用 QEMU 和 binfmt_misc 在 Docker 中运行多架构容器。
目录#
安装 QEMU 支持#
安装输出示例:
...
"supported": [
"linux/amd64",
"linux/amd64/v2",
"linux/amd64/v3",
"linux/arm64",
"linux/riscv64",
"linux/ppc64le",
"linux/s390x",
"linux/386",
"linux/mips64le",
"linux/mips64",
"linux/loong64",
"linux/arm/v7",
"linux/arm/v6"
],
...
拉取多架构镜像#
运行多架构容器#
# 运行 ARM64 容器
docker run -it --rm --platform linux/arm64 \
-v /workspaces:/workspaces \
arm64v8/ubuntu:22.04 bash
支持的架构#
运行 tonistiigi/binfmt 后支持的架构:
| 架构 | 平台标识 |
|---|---|
| AMD64 | linux/amd64 |
| AMD64 v2 | linux/amd64/v2 |
| AMD64 v3 | linux/amd64/v3 |
| ARM64 | linux/arm64 |
| RISC-V 64 | linux/riscv64 |
| PowerPC 64LE | linux/ppc64le |
| IBM S/390x | linux/s390x |
| x86 | linux/386 |
| MIPS 64LE | linux/mips64le |
| MIPS 64 | linux/mips64 |
| LoongArch 64 | linux/loong64 |
| ARM v7 | linux/arm/v7 |
| ARM v6 | linux/arm/v6 |
注意事项#
- 性能:QEMU 模拟运行的性能低于原生架构
- 权限:需要
--privileged权限注册 binfmt_misc - 兼容性:部分软件可能不兼容模拟环境