Maison > développement back-end > Golang > Comment puis-je récupérer manuellement les dépendances Go pour des versions Docker plus rapides ?

Comment puis-je récupérer manuellement les dépendances Go pour des versions Docker plus rapides ?

Patricia Arquette
Libérer: 2024-12-15 16:29:10
original
192 Les gens l'ont consulté

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

Récupération manuelle des dépendances dans Go

L'un des concepts clés introduits dans Go 1.11 est la prise en charge des modules. Bien que la fonctionnalité d'installation automatique des dépendances soit généralement bénéfique, certains cas d'utilisation peuvent nécessiter une récupération manuelle des dépendances.

Par exemple, dans un environnement de build Docker, où les modifications de dépendances sont beaucoup moins fréquentes que les modifications de code, tirer parti de la mise en cache des couches de Docker peut accélère considérablement les reconstructions en séparant l'étape d'installation des dépendances de l'étape de construction.

Solution

Go fournit désormais une solution à ce défi. Grâce au numéro 26610, vous pouvez utiliser la commande go mod download pour récupérer manuellement les dépendances. Cette commande nécessite uniquement la présence des fichiers go.mod et go.sum.

Voici un exemple de build Docker à plusieurs étapes en cache qui utilise cette technique :

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"]
Copier après la connexion

De plus, l'article « Conteneurisez votre environnement de développement Go – Partie 2 » fournit des informations précieuses sur l'exploitation du cache du compilateur Go pour améliorer encore les vitesses de construction.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal