Docker Scratch 이미지 관련 "해당 파일 또는 디렉터리 없음" 오류 문제 해결
Docker 스크래치 이미지는 컨테이너 실행을 위한 최소 런타임 환경을 제공합니다. 그러나 스크래치 이미지가 포함된 Dockerfile을 사용하는 경우 "standard_init_linux.go:207: exec user process cause 'no such file ordirectory'"라는 오류가 발생할 수 있습니다.
원인 및 해결 방법
이 오류는 CGO 빌드를 사용하지 않을 때 발생할 수 있습니다. CGO(CGO는 "C Go"를 의미합니다. Go 프로그래밍의 맥락에서는 Go 프로그램 내에서 C 코드를 호출하는 기능을 나타냅니다.) 빌드는 libc 또는 libmusl과 같은 라이브러리에 대한 동적 링크를 생성합니다. 이 문제를 해결하려면 Dockerfile에 다음 줄을 추가하여 CGO를 비활성화하세요.
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \ -ldflags="-w -s" -o $PROJ_BIN_PATH ./cmd/...
기타 고려 사항
또한 다음 사항을 확인하세요.
docker build --target=0 -t your_go_image . docker run -it --rm your_go_image ldd /$PROJ_NAME
위 내용은 내 Docker 스크래치 이미지가 '해당 파일 또는 디렉터리 없음' 오류를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!