Tuto 2 done

This commit is contained in:
nemunaire 2022-09-22 11:38:47 +02:00
commit 14870bd330
12 changed files with 146 additions and 118 deletions

View file

@ -3,62 +3,10 @@ D'autres méthodes pour créer des images
Les images utilisées par Docker pour lancer les conteneurs répondent avant tout
aux spécifications OCI. Le format étant standard, il est normal que d'autres
outils puissent utiliser, mais aussi créer des images. Nous allons voir dans
cette partie l'avenir des `Dockerfile` ou simplement d'autres outils plus
spécifiques.
### `buildx`
Docker `buildx` est un plugin qui apporte
[BuildKit](https://github.com/moby/buildkit). Tout en étant compatible avec la
syntaxe des `Dockerfile` existant, BuildKit apporte une gestion concurrente des
nœuds de construction : très utile lorsque l'on construit une image pour
plusieurs architectures.
outils puissent utiliser, mais aussi créer des images.
#### Installation Windows et MacOS {-}
Avec Docker Desktop, le plugin est déjà installé, vous n'avez aucune action
supplémentaire à effectuer, vous pouvez commencer à l'utiliser.
#### Installation Linux {-}
En fonction de la méthode d'installation que vous avez suivie, vous avez
peut-être déjà le plugin installé. Si vous n'avez pas d'erreur en exécutant
`docker buildx`, mais que vous voyez l'aide de la commande, c'est bon. Sinon,
vous pouvez l'installer comme ceci :
<div lang="en-US">
```
V="v0.9.1"
mkdir -p ~/.docker/cli-plugins
curl -L -s -S -o ~/.docker/cli-plugins/docker-buildx \
https://github.com/docker/buildx/releases/download/$V/buildx-$V.linux-amd64
chmod +x ~/.docker/cli-plugins/docker-buildx
```
</div>
#### Utilisation
Nous pouvons réutiliser le `Dockerfile` que vous avez écrit pour `youp0m`, en
remplaçant simplement la ligne de `docker build` par celle-ci :
<div lang="en-US">
```
docker buildx build .
```
</div>
::::: {.more}
Nous ne rentrerons pas plus dans les détails de cette nouvelle commande, mais
sachez qu'on la retrouve particulièrement fréquemment dans les *GitHub
Actions* :\
<https://github.com/marketplace/actions/docker-setup-buildx>
:::::
#### Changer la syntaxe de nos `Dockerfile`
### Changer la syntaxe de nos `Dockerfile`
Parfois on peut se sentir un peu frustré par la syntaxe des `Dockerfile` ou par
son manque d'évolutivité. Avec BuildKit, il est possible de préciser un parseur
@ -105,22 +53,6 @@ notamment :
`Dockerfile`, et autres scripts de CI et de tests.
#### `docker/dockerfile:1.4`
La version habituelle de la syntaxe des `Dockerfile` est la version 1.1. En
utilisant BuildKit, nous pouvons dès à présent passer à la version 1.4.
Les ajouts par rapport à la syntaxe usuelle sont répertoriés sur cette page :\
<https://hub.docker.com/r/docker/dockerfile>.
::::: {.exercice}
Faites en sorte que le `Dockerfile` que vous avez créé pour `youp0m` indique un
*frontend* BuildKit à utiliser, tout en restant compatible avec la syntaxe du
`docker build` classique.
:::::
### Des images sans Docker
Il est aussi possible de se passer complètement de Docker. La plupart des