Update Article “2023-04-11-fabriquer-des-conteneurs-légers-depuis-une-ci-cd”
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Quentin 2023-04-11 14:51:59 +00:00
parent b483b5d48c
commit e590658d31

View file

@ -2,7 +2,7 @@
layout: post
title: Construire et publier des conteneurs sans daemon Docker
date: 2023-04-11T10:51:40.008+02:00
status: draft
status: published
sitemap: true
category: developpement
description: Construire et publier des conteneurs légers et multi-plateformes
@ -253,15 +253,17 @@ docker run --rm -it -e ALBATROS_URL="x" registry.deuxfleurs.org/albatros:0.9
On peut aussi vérifier que skopeo est content avec notre registre :
```bash
mkdir -p /tmp/discard
skopeo --insecure-policy copy --all docker://registry.deuxfleurs.org/albatros:0.9 oci:/tmp/discard/
# inspectez le contenu de /tmp/discard
```
## Petite réflexion sur ce qu'on vient de faire
On a vu comment construire plusieurs images Docker simples avec NixOS, une pour chaque plateforme qu'on supporte. Ensuite on a vu comment les manipuler au format OCI pour les fusionner et créer une image multiarch. Enfin, on a vu comment l'envoyer sur le hub Docker avec crane et sur notre registre statique. Aucune de ces opérations n'a nécessité d'élévation de privilège, ni le daemon Docker, ni même Docker tout court.
Bien entendu, si j'ai semi-automatisé les opérations avec des scripts bash, il reste que cette opération reste encore quelque peu fastidieuse. Il ne devrait pas être trop compliqué de porter ces différents bouts de bash vers un binaire Go qui se chargerait alors de l'envoi de ces images.
Reste la question du périmètre de ce binaire : est-ce qu'il doit supporter le hub docker et mon registre statique ? est-ce qu'il doit être possible de supprimer une image ? est-ce qu'il doit supporter les binaires statiques aussi ? est-ce qu'il doit faire une garbage collection automatique, et si oui, selon quelles règles ? est-il bien judicieux de générer une archive docker depuis NixOS pour ensuite la convertir en OCI, puis manipuler cette image, avant de l'envoyer, ou alors mieux vaudrait réaliser le plus possible ces tâches au sein de NixOS ? Est-ce que NixOS ne devrait pas générer notre image multarch ?
C'est donc sur d'avantage de questions que de réponses que je conclue ce billet de blog, à votre tour de faire de la magie avec les conteneurs !