>백엔드 개발 >Golang >Docker의 Go Binary 작동에도 불구하고 My Go Binary가 Alpine Linux에서 실행되지 않는 이유는 무엇입니까?

Docker의 Go Binary 작동에도 불구하고 My Go Binary가 Alpine Linux에서 실행되지 않는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-13 18:58:10429검색

Why Doesn't My Go Binary Run on Alpine Linux Despite Docker's Go Binary Working?

Docker Go 바이너리가 발견되었지만 Alpine Linux의 경로에서 다른 Go 바이너리를 찾을 수 없음

이 문제는 Go 바이너리를 실행하려고 할 때 발생합니다. Docker Go 바이너리가 아닌 Alpine Docker 이미지. 설치된 바이너리가 시스템에서 인식되지 않습니다.

문제 출처:

문제는 설치된 Go 바이너리와 기본 musl 기반 바이너리 간의 호환성이 부족하다는 데 있습니다. 알파인 리눅스. Musl은 다른 Linux 배포판에서 일반적으로 사용되는 glibc와는 다른 경량 C 라이브러리입니다.

해결책:

이 문제를 해결하려면 /lib/ 사이에 심볼릭 링크를 생성하세요. libc.musl-x86_64.so.1 및 /lib64/ld-linux-x86-64.so.2:

RUN mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86_64.so.2

이 심볼릭 링크는 설치된 Go 바이너리와 musl 라이브러리 간의 호환성을 보장하여 바이너리가 예상대로 인식되고 실행될 수 있도록 합니다.

위 내용은 Docker의 Go Binary 작동에도 불구하고 My Go Binary가 Alpine Linux에서 실행되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.