赞
踩
关于docker镜像在不同的cpu架构下运行报错的解决办法,作者踩坑验证,在此分享经验
某次工作遇到需要银行内部部署docker镜像,由于行内已经开始走信创的路线,使用鲲鹏系统,arm架构,结果就遇到了standard_init_linux.go:219: exec user process caused: exec format error,没办法,只能自己研究一下。
--platform 参数需要 experimental 为 true,通过下面的命令可以验证是否开启
修改完成后,重启 docker 来验证
systemctl restart
docker docker info | grep -i 'experimental'
binfmt_misc安装
qemu-user-static安装
安装结果检查
docker run -it --rm --platform arm64 -v /root/qemu-aarch64-static:/usr/bin/qemu-aarch64-static arm64v8/centos:latest /bin/bash
思路是在构建过程中,如果有RUN指令,在指令前将qemu文件加进去。
以buildah为例,跟docker buildx应该没有差异。
解决办法:
参考:
https://www.cnblogs.com/xiaojiluben/p/16745276.html
x86 平台利用 qemu-user-static 实现 arm64 平台 docker 镜像的运行和构建-CSDN博客
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。