今天在打包然后运行docker镜像的时候遇到了这个问题
➜ docker-demo docker run javaweb:1.0 -d
rosetta error: failed to open elf at /lib64/.2
Trace/breakpoint trap
注意观察,这个库函数里面有x86-64
字样,指的是支持64位运算的X86架构的CPU,这种CPU一般由Intel和AMD家生产的芯片。
而如果恰好你的电脑是搭载Apple Chip例如M1/M2/M3的MacBook,那么系统里是没有这个函数库的,就会报错。
解决办法是在Docker引入Base操作系统的时候,加上--platform=linux/amd64
指定AMD64格式,然后重新打镜像。
FROM --platform=linux/amd64 ubuntu:16.04
Reference:
/questions/71040681/qemu-x86-64-could-not-open-lib64-ld-linux-x86-64-so-2-no-such-file-or-direc