遇到错误:“无法打开 '/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中文网其他相关文章!