Maison >développement back-end >Golang >Comment puis-je télécharger manuellement les dépendances du module Go pour des versions Docker optimisées ?
Récupération manuelle des dépendances avec les modules Go
Dans le monde de la gestion des dépendances basée sur les modules Go, les commandes Go telles que go build ou go install automatiquement récupérer et installer les dépendances requises. Cependant, lorsque vous travaillez avec Docker pour des builds binaires, il est souvent avantageux d'extraire l'installation des dépendances dans une étape distincte pour tirer parti de la mise en cache et optimiser les performances de build.
Solution de récupération manuelle des dépendances
La version 1.11 de Go a introduit la prise en charge des modules, et avec elle une limitation : l'impossibilité de récupérer manuellement les dépendances. Cependant, ce problème a depuis été résolu avec un correctif dans le numéro 26610.
Désormais, vous pouvez facilement récupérer les dépendances manuellement à l'aide de la commande :
go mod download
Cette commande ne nécessite que le déplacement. fichiers mod et go.sum pour fonctionner.
Exemple Docker Build
Voici un exemple de la façon d'implémenter les téléchargements de dépendances en cache dans une build Docker en plusieurs étapes :
# 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"]
Optimisation supplémentaire
Pour Pour d'autres améliorations des performances, envisagez d'explorer le cache du compilateur Go comme décrit dans « Conteneuriser votre environnement de développement Go – Partie 2."
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!