首页 >后端开发 >Golang >为什么在 M1 Mac 上构建 Dockerfile 失败,并显示'/lib64/ld-linux-x86-64.so.2”的'没有这样的文件或目录”?

为什么在 M1 Mac 上构建 Dockerfile 失败,并显示'/lib64/ld-linux-x86-64.so.2”的'没有这样的文件或目录”?

DDD
DDD原创
2024-12-13 10:13:16933浏览

Why Does Building a Dockerfile on M1 Mac Fail with

在 qemu-x86_64 中遇到“/lib64/ld-linux-x86-64.so.2”错误“没有这样的文件或目录”

尝试使用 Rancher Desktop 在 M1 MacOS 上构建 Dockerfile 时,用户可能会遇到以下情况错误:

qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory

此错误源于尝试在 ARM64 (Apple Silicon) 系统上安装和执行为 x86_64 编译的代码。默认情况下,Docker 可能会为平台选择 ARM64 镜像,该镜像缺少必要的库。

M1 MacOS 的解决方案:

与原始发布者的解决方案相反,在 M1 MacOS 上解决此问题的关键是在 Dockerfile 的 FROM 行中显式指定平台为 linux/amd64。这可确保 Docker 以包含所需库的基础映像启动:

FROM --platform=linux/amd64 ubuntu:focal

通过此修改,构建过程将使用 x86_64 映像作为起点,从而能够在其中安装和执行 x86_64 软件。容器。

其他注意事项:

如果可能,建议考虑使用 ARM64 基础映像并在构建期间在容器内编译软件。这种方法可以提高在 M1 Mac 上运行容器时的性能,因为它消除了模拟的需要。

以上是为什么在 M1 Mac 上构建 Dockerfile 失败,并显示'/lib64/ld-linux-x86-64.so.2”的'没有这样的文件或目录”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn