首页 > 后端开发 > Golang > 为什么我的 Docker 构建在 M1 Mac 上失败并显示'无法打开 '/lib64/ld-linux-x86-64.so.2'”?

为什么我的 Docker 构建在 M1 Mac 上失败并显示'无法打开 '/lib64/ld-linux-x86-64.so.2'”?

Linda Hamilton
发布: 2024-12-11 15:44:09
原创
733 人浏览过

Why Does My Docker Build Fail with

遇到错误:“无法打开 '/lib64/ld-linux-x86-64.so.2'

尝试时使用命令 docker build -t te-grafana-dashboards-toolchain 在 M1 MacOS 上构建 Docker 映像--no-cache .,用户可能会遇到错误消息“qemu-x86_64:无法打开'/lib64/ld-linux-x86-64.so.2':没有这样的文件或目录。”此错误表明Docker 构建过程所需的指定文件不存在于容器的文件系统中。

根原因

这个错误的根本原因是M1芯片和传统x86-64 CPU之间的架构差异。Docker在Linux环境中原生运行,而指定的Dockerfile旨在构建在Linux上。 /AMD64 平台。但是,M1 芯片采用不同的指令集架构 (ISA),称为 ARM64,与 x86-64 不兼容。

解决方案

要解决此问题并在 M1 Mac 上成功构建 Docker 映像,需要在创建基础映像时指定正确的平台。

具体来说,应将以下行添加到Dockerfile:

FROM --platform=linux/arm64 ubuntu:focal
登录后复制

FROM --platform=linux/arm64/v8 ubuntu:focal
登录后复制

通过将平台设置为 linux/arm64,Docker 构建过程将使用基于 ARM64 的基础图像,与M1芯片的ISA兼容。这将确保必要的文件“/lib64/ld-linux-x86-64.so.2”在容器的文件系统中可用,并且 Docker 构建可以顺利进行。

以上是为什么我的 Docker 构建在 M1 Mac 上失败并显示'无法打开 '/lib64/ld-linux-x86-64.so.2'”?的详细内容。更多信息请关注PHP中文网其他相关文章!

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