Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Mengambil Ketergantungan Go secara Manual untuk Binaan Docker yang Lebih Pantas?

Bagaimanakah Saya Boleh Mengambil Ketergantungan Go secara Manual untuk Binaan Docker yang Lebih Pantas?

Patricia Arquette
Lepaskan: 2024-12-15 16:29:10
asal
188 orang telah melayarinya

How Can I Manually Fetch Go Dependencies for Faster Docker Builds?

Pengambilan Ketergantungan Manual dalam Go

Salah satu konsep utama yang diperkenalkan dalam Go 1.11 ialah sokongan modul. Walaupun ciri pemasangan kebergantungan automatik biasanya bermanfaat, sesetengah kes penggunaan mungkin memerlukan pengambilan kebergantungan manual.

Sebagai contoh, dalam persekitaran binaan Docker, di mana perubahan kebergantungan jauh lebih kerap daripada perubahan kod, memanfaatkan caching lapisan Docker boleh mempercepatkan pembinaan semula dengan ketara dengan memisahkan peringkat pemasangan pergantungan daripada binaan peringkat.

Penyelesaian

Go sekarang menyediakan penyelesaian kepada cabaran ini. Terima kasih kepada isu #26610, anda boleh menggunakan arahan muat turun mod go untuk mengambil kebergantungan secara manual. Perintah ini hanya memerlukan kehadiran fail go.mod dan go.sum.

Berikut ialah contoh binaan Docker berbilang peringkat cache yang menggunakan teknik ini:

FROM golang:1.17-alpine as builder
RUN apk --no-cache add ca-certificates git
WORKDIR /build

# Fetch dependencies
COPY go.mod go.sum ./
RUN go mod download

# Build
COPY . ./
RUN CGO_ENABLED=0 go build

# Create final image
FROM alpine
WORKDIR /
COPY --from=builder /build/myapp .
EXPOSE 8080
CMD ["./myapp"]
Salin selepas log masuk

Selain itu, artikel "Bendungkan Persekitaran Pembangun Go Anda – Bahagian 2" memberikan pandangan berharga tentang memanfaatkan cache pengkompil Go untuk meningkatkan lagi kelajuan binaan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengambil Ketergantungan Go secara Manual untuk Binaan Docker yang Lebih Pantas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan