首页 > 后端开发 > Golang > ARM64 Docker 上的 QEMU-x86_64:如何修复'没有这样的文件或目录”错误?

ARM64 Docker 上的 QEMU-x86_64:如何修复'没有这样的文件或目录”错误?

Mary-Kate Olsen
发布: 2024-12-19 09:48:10
原创
309 人浏览过

QEMU-x86_64 on ARM64 Docker: How to Fix

没有此类文件或目录错误:在 ARM64 Docker 构建上对 QEMU-x86_64 进行故障排除

使用 QEMU-x86_64 在 M1 MacOS 上构建 Docker 映像时,用户可能会遇到错误“qemu-x86_64:无法打开'/lib64/ld-linux-x86-64.so.2':没有这样的文件或目录。”出现此错误的原因是 ARM64 M1 架构没有 Dockerfile 所需的 x86_64 共享对象库。

要解决此问题,解决方案在于更改 Dockerfile 的 FROM 指令中指定的平台。不要使用默认的 ARM64 平台,而是显式指定 linux/amd64 平台,如下所示:

FROM --platform=linux/amd64 ubuntu:20.04
登录后复制

此更改强制 Docker 使用 x86_64 基础映像,其中包括必要的共享对象库。因此,构建过程将尝试安装并执行为 x86_64 显式编译的代码。

或者,如果可能,请考虑在构建期间使用 ARM64 基础映像并在容器内编译 x86_64 软件。虽然由于模拟可能会较慢,但在基于 M1 的 Mac 上运行容器时,这种方法可以提高性能。

以上是ARM64 Docker 上的 QEMU-x86_64:如何修复'没有这样的文件或目录”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板