> 백엔드 개발 > Golang > My Go 바이너리가 Alpine Linux Docker 이미지에서 종속성을 찾을 수 없는 이유는 무엇입니까?

My Go 바이너리가 Alpine Linux Docker 이미지에서 종속성을 찾을 수 없는 이유는 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-06 04:57:14
원래의
794명이 탐색했습니다.

Why Can't My Go Binary Find Its Dependencies in My Alpine Linux Docker Image?

Alpine Linux Docker에 설치된 Go 바이너리를

경로에서 찾을 수 없습니다. 이 문제에서 사용자는 Go를 실행하려고 합니다. Docker 이미지의 바이너리. 바이너리가 성공적으로 설치되었지만 경로에서 찾을 수 없습니다. 이 문제는 Alpine Linux에서 누락된 glibc와 관련되어 있어 프로그램이 해당 종속성을 찾지 못합니다.

이 문제에 대한 답은 glibc의 ld에 필요한 libc 대체에 musl의 libc를 연결하는 심볼릭 링크를 추가하는 것입니다. 이는 다음 Dockerfile 지시어를 사용하여 달성할 수 있습니다.

RUN mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86_64.so.2
로그인 후 복사

이 지시어는 /lib64 디렉토리가 존재하지 않는 경우 이를 생성하고 musl의 libc를 glibc의 ld에 필요한 libc 대체에 연결하는 심볼릭 링크를 생성합니다. 이 작업이 완료되면 Go 바이너리는 종속성을 찾고 경로에서 찾을 수 있습니다.

위 내용은 My Go 바이너리가 Alpine Linux Docker 이미지에서 종속성을 찾을 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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