Go 기본 웹 앱으로 Docker 실행: "해당 파일 또는 디렉터리 없음" 오류
Go에서 기본 웹 애플리케이션을 실행하려고 할 때 Docker를 사용하면 사용자에게 다음 오류가 발생할 수 있습니다.
standard_init_linux.go:190: exec user process caused "no such file or directory"
이 오류는 웹 애플리케이션의 바이너리 실행 파일에 필요한 라이브러리 또는 통역사. 이 특정한 경우에는 net 패키지를 가져올 때 기본적으로 바이너리에 동적으로 연결되는 libc 라이브러리가 없습니다.
이 문제를 해결하려면 다음 단계를 수행할 수 있습니다.
크로스 컴파일로 바이너리 컴파일 플래그:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -tags netgo -ldflags '-w' -o mybin *.go
이러한 플래그는 교차 컴파일을 비활성화하고 대상 운영 체제 및 아키텍처를 지정하며 바이너리에서 디버깅 정보를 제거합니다.
Docker 이미지에서 컴파일된 바이너리를 사용합니다.
다음에서 CMD 명령어를 바꿉니다. 다음을 포함하는 Dockerfile:
CMD ["mybin"]
이 단계를 수행하면 사용자는 Go 웹 애플리케이션 바이너리를 올바르게 컴파일하고 필요한 라이브러리를 연결하고 "해당 파일이 없거나 Docker 컨테이너에서 애플리케이션을 실행할 때 "directory" 오류가 발생했습니다.
위 내용은 My Go Docker Web App이 '해당 파일 또는 디렉터리 없음' 오류와 함께 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!