Mendapatkan Ketergantungan Secara Manual dengan Modul Go
Dalam dunia pengurusan pergantungan berasaskan modul Go, arahan Go seperti go build atau go install secara automatik ambil dan pasang kebergantungan yang diperlukan. Walau bagaimanapun, apabila bekerja dengan Docker untuk binari binari, selalunya berfaedah untuk mengekstrak pemasangan pergantungan ke peringkat yang berasingan untuk memanfaatkan caching dan mengoptimumkan prestasi binaan.
Penyelesaian untuk Pengambilan Ketergantungan Manual
Go versi 1.11 memperkenalkan sokongan modul, dan dengannya datang had: ketidakupayaan untuk mengambil kebergantungan secara manual. Walau bagaimanapun, isu ini telah diselesaikan dengan pembetulan dalam isu #26610.
Kini, anda boleh mendapatkan semula kebergantungan secara manual dengan mudah menggunakan arahan:
go mod download
Arahan ini hanya memerlukan pergi. mod dan fail go.sum untuk berfungsi.
Contoh Docker Bina
Berikut ialah contoh cara melaksanakan muat turun kebergantungan cache dalam binaan Docker berbilang peringkat:
# 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"]
Pengoptimuman Tambahan
Untuk peningkatan prestasi selanjutnya, pertimbangkan untuk meneroka cache pengkompil Go seperti yang diterangkan dalam "Bendungkan Persekitaran Pembangun Go Anda – Bahagian 2."
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Muat Turun Secara Manual Ketergantungan Modul Go untuk Binaan Docker Dioptimumkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!