rosetta error: failed to open elf at /lib64/ld-linux-x86-64.so.2怎么解决

今天在打包然后运行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

Reference:
https://stackoverflow.com/questions/71040681/qemu-x86-64-could-not-open-lib64-ld-linux-x86-64-so-2-no-such-file-or-direc

你可能感兴趣的:(DEBUG,linux,运维,服务器)