Docker跨CPU架构使用
CPU架构amd64、x86、arm64、mips64el等等,amd64CPU架构的电脑默认是不能使用其他架构的镜像,但可以通过qemu的技术来实现,Docker跨CPU使用。举例说明x86_64 CPU架构的电脑运行 ARM64 的docker镜像。1、下载所需平台的解释器https://github.com/multiarch/qemu-user-stati...
·
CPU架构
amd64、x86、arm64、mips64el等等,amd64 CPU架构的电脑默认是不能使用其他架构的镜像,但可以通过qemu的技术来实现,Docker跨CPU使用。
举例说明
x86_64 CPU架构的电脑运行 ARM64 的docker镜像。
1、下载所需平台的解释器
https://github.com/multiarch/qemu-user-static/releases/
此处下载:qemu-aarch64-static,并将其放到 /usr/bin 目录下
注:aarch64即arm64,运行arm64的docker镜像,所以下载qemu-aarch64-static该解释器
2、注册平台的解释器
docker pull multiarch/qemu-user-static:register
docker run --rm --privileged multiarch/qemu-user-static:register
注:每次重启机器,需重新注册
注:注册成功可以查询到aarch64对应的解释器
cat /proc/sys/fs/binfmt_misc/qemu-aarch64
如果想撤销,执行如下执行
docker run --rm --privileged multiarch/qemu-user-static:register --reset
3、运行测试
docker run --rm -it -v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static arm64v8/debian bash
4、后记
因为是访问不同CPU的镜像,可能会出现qemu相关报错,但只要是标准指令或者是官方版本镜像,理论上不会报错,放心使用!再也不担心没有其他CPU架构的机器了。
5、Dockerfile中的应用
FROM XXX
COPY qemu-aarch64-static /usr/bin/qemu-aarch64-static
注:必须为第一条执行内容,即紧跟FROM命令;qemu-aarch64-static 文件为可执行文件
更多推荐
已为社区贡献2条内容
所有评论(0)