Go 모듈을 사용하여 수동으로 종속성 검색
Go 모듈 기반 종속성 관리의 세계에서는 go build 또는 go install과 같은 Go 명령이 자동으로 사용됩니다. 필요한 종속성을 가져오고 설치합니다. 그러나 바이너리 빌드를 위해 Docker를 사용하는 경우 캐싱을 활용하고 빌드 성능을 최적화하기 위해 종속성 설치를 별도의 단계로 추출하는 것이 유용한 경우가 많습니다.
수동 종속성 검색을 위한 솔루션
Go 버전 1.11에는 모듈 지원이 도입되었으며 이에 따라 종속 항목을 수동으로 가져올 수 없다는 제한이 있었습니다. 그러나 이 문제는 이후 문제 #26610의 수정으로 해결되었습니다.
이제 다음 명령을 사용하여 종속성을 수동으로 쉽게 검색할 수 있습니다.
go mod download
이 명령에는 go만 필요합니다. mod 및 go.sum 파일이 작동하도록 합니다.
예제 Docker 빌드
다음은 다단계 Docker 빌드에서 캐시된 종속성 다운로드를 구현하는 방법에 대한 예입니다.
# Stage 1: Build dependencies FROM golang:1.17-alpine AS builder RUN apk --no-cache add ca-certificates git WORKDIR /build COPY go.mod go.sum ./ RUN go mod download # Stage 2: Build app COPY . ./ RUN CGO_ENABLED=0 go build # Stage 3: Create final image FROM alpine WORKDIR / COPY --from=builder /build/myapp . EXPOSE 8080 CMD ["/myapp"]
추가 최적화
추가적인 성능 향상을 위해서는 "Go 개발자 환경 컨테이너화 - 파트"에 설명된 대로 Go 컴파일러 캐시를 탐색하는 것을 고려하십시오. 2."
위 내용은 최적화된 Docker 빌드에 대한 Go 모듈 종속성을 수동으로 다운로드하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!