今天在打包然后运行docker镜像的时候遇到了这个问题
? docker-demo docker run javaweb:1.0 -d
rosetta error: failed to open elf at /lib64/ld-linux-x86-64.so.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