Créer efficacement des images Docker avec des dépendances pré-mises en cache
Lors de la construction d'images Docker, il est crucial de minimiser le temps de construction. Une stratégie consiste à mettre en cache les dépendances. Cependant, cela nécessite d'abord de créer les dépendances, ce qui peut prendre du temps.
Existe-t-il un moyen de pré-construire plusieurs dépendances répertoriées dans le fichier go.mod ?
La réponse réside dans en utilisant les mécanismes de mise en cache de Docker. La structure Dockerfile suggérée comprend une couche de mise en cache cruciale :
FROM scratch COPY --from=build /out/example /
Cette étape copie l'exécutable construit à partir d'une étape de construction intermédiaire dans l'image finale. Cependant, l'ingrédient clé se trouve dans la phase de construction :
RUN --mount=type=cache,target=/root/.cache/go-build go build -o /out/example .
Cette commande monte le répertoire de cache go build par défaut (/root/.cache/go-build) et exécute la commande go build. Le cache garantit que les dépendances ne sont téléchargées et compilées qu'une seule fois, ce qui réduit considérablement les temps de construction des versions suivantes.
Pour activer la mise en cache, il est essentiel de définir la variable d'environnement DOCKER_BUILDKIT sur 1 :
DOCKER_BUILDKIT=1 docker build -t myimage .
En suivant ces étapes, vous pouvez pré-construire toutes les dépendances dans go.mod et tirez parti de la mise en cache pour rationaliser la création de vos images Docker.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3