From 00c95592bf5de2b294dd31f21ccef2c10e91b5e1 Mon Sep 17 00:00:00 2001 From: Mickael Masquelin <mickael.masquelin@univ-lille.fr> Date: Wed, 26 Jun 2024 15:19:52 +0200 Subject: [PATCH] fix(buildx): Updated exercises --- README.md | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a868f78..2159391 100644 --- a/README.md +++ b/README.md @@ -124,11 +124,9 @@ Pour l'initialiser il faut, en premier lieu, lancer une image permettant d’ins $ docker run --privileged --rm tonistiigi/binfmt:latest --install all ``` -Vous obtiendrez, en sortie, toutes les builds possibles. Ensuite, il faut créer le builder. Pour utiliser un registre personnel il faudra utiliser un fichier de config (en ajoutant `--config=/path/to/config.toml`). Je vous invite à consulter [ce lien](https://github.com/moby/buildkit/blob/master/docs/buildkitd.toml.md) pour plus d'infos. Il faudra procéder de la manière suivante : +Vous obtiendrez, en sortie, toutes les builds possibles. Ensuite, il faut créer le builder. Pour utiliser un registre personnel il faudra utiliser un fichier de config (en ajoutant `--config=/path/to/config.toml`). Je vous invite à consulter [ce lien](https://github.com/moby/buildkit/blob/master/docs/buildkitd.toml.md) pour plus d'infos. -```bash -$ docker buildx create --driver-opt network=host --driver docker-container --name mybuilder --use mybuilder -``` +Mettez en place un builder que vous nommerez `mon-builder` et puis indiquez explicitement à Docker de l'utiliser avant l'étape suivante ! Nous allons créer un `Dockerfile` très simple. Son contenu est le suivant : @@ -153,6 +151,30 @@ $ docker buildx build --platform linux/arm64 -t masqueli/test-arm64:v1.0.0 --loa Félicitations ! Vous êtes en mesure de délivrer des images multi-plateformes désormais :) +Je vous propose un autre exercice avec le `Dockerfile` ci-après : + +``` +# Image de base +FROM node:14-alpine + +# Définir le répertoire de travail +WORKDIR /app + +# Copier les fichiers de l'application +COPY . . + +# Installer les dépendances +RUN npm install --production + +# Exposer le port par défaut +EXPOSE 3000 + +# Démarrer votre application +CMD ["node", "app.js"] +``` + +A partir du Dockerfile fourni, construisez une image Docker que vous nommerez mon-appli-njs pour des plateformes `linux/arm64"` et `"linux/amd64"`. Vous penserez à ajouter un tag de version. Une fois cette opération terminée, poussez l'image dans le registre utilisé précédemment et vérifiez, à l'aide de la commande `curl`, qu'elle est bien présente ! + ## Exercice 02 : Réseau & Sécurité ### Utilisation de la directive USER -- GitLab