在 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中文网其他相关文章!