>백엔드 개발 >Golang >Docker Scratch Images and Go에서 '해당 파일 또는 디렉터리 없음' 오류를 해결하는 방법은 무엇입니까?

Docker Scratch Images and Go에서 '해당 파일 또는 디렉터리 없음' 오류를 해결하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-15 11:09:11152검색

How to Resolve

Docker Scratch Image: Resolved에서 "해당 파일 또는 디렉터리가 없습니다." 바이너리를 실행할 때 "그러한 파일이나 디렉터리"가 발생합니다. 이 오류는 이미지에 존재하지 않는 라이브러리에 바이너리가 동적으로 연결되어 있는 경우가 많습니다.

이 문제를 해결하려면 CGO(C Go)를 비활성화하세요.

CGO 링크 스크래치 이미지에 문제가 발생할 수 있는 시스템 라이브러리에 적용됩니다. CGO를 비활성화하면 바이너리가 정적으로 링크되고 외부 라이브러리에 의존하지 않는지 확인할 수 있습니다.

RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \
    -ldflags="-w -s" -o $PROJ_BIN_PATH ./cmd/...
또한 ldd를 사용하여 바이너리의 동적 링크를 확인할 수 있습니다.

이것은 명령은 바이너리가 연결된 모든 라이브러리를 나열합니다. ldd가 "동적 실행 파일이 아님"을 반환하면 바이너리는 정적으로 링크됩니다.

위 내용은 Docker Scratch Images and Go에서 '해당 파일 또는 디렉터리 없음' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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