> 백엔드 개발 > Golang > M1 Mac에서 ''/lib64/ld-linux-x86-64.so.2'를 열 수 없습니다.'라는 메시지와 함께 내 Docker 빌드가 실패하는 이유는 무엇입니까?

M1 Mac에서 ''/lib64/ld-linux-x86-64.so.2'를 열 수 없습니다.'라는 메시지와 함께 내 Docker 빌드가 실패하는 이유는 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-11 15:44:09
원래의
709명이 탐색했습니다.

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 칩은 x86-64와 호환되지 않는 ARM64라는 다른 명령어 세트 아키텍처(ISA)를 사용합니다. code.

솔루션

이 문제를 해결하고 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 빌드가 오류 없이 진행될 수 있습니다.

위 내용은 M1 Mac에서 ''/lib64/ld-linux-x86-64.so.2'를 열 수 없습니다.'라는 메시지와 함께 내 Docker 빌드가 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿