Update tuto2

This commit is contained in:
nemunaire 2021-09-23 02:55:18 +02:00
parent 5f097b4221
commit 2c5317f4f9
35 changed files with 3588 additions and 472 deletions

View file

@ -4,7 +4,7 @@
======
`runc` est le programme qui est responsable de la création effective du
conteneur : c'est lui qui va mettre en place toute la machinerie, les points de
conteneur : c'est lui qui va mettre en place toute la machinerie, les points de
montages ou volumes, ... Attention, son rôle reste limité à la mise en place de
l'environnement conteneurisé, ce n'est pas lui qui télécharge l'image, ni fait
l'assemblage des couches de système de fichiers, entre autres.
@ -21,17 +21,17 @@ essayer de lancer un shell `alpine` avec un volume dans notre home.
## Prérequis
Vous devriez avoir le binaire `runc` ou `docker-runc`. Si ce n'est pas le cas,
vous pouvez télécharger la dernière version :
vous pouvez télécharger la dernière version :
<https://github.com/opencontainers/runc/releases>. La 1.0.0-rc92 est Ok.
## Extraction du rootfs
À l'aide du script d'extraction de registre réalisé dans le TP 3, extrayons le
rootfs d'alpine : `library/alpine` dans le registre Docker.
rootfs d'alpine : `library/alpine` dans le registre Docker.
Si vous n'avez pas eu le temps de terminer le script d'extraction, vous pouvez
utiliser :
utiliser :
<div lang="en-US">
```bash
@ -44,7 +44,7 @@ docker image save alpine | tar xv -C rootfs
L'écriture complète d'un fichier `config.json` pour `runc` est plutôt
fastidieux et répétitif, nous allons donc gagner du temps et utiliser la
commande suivante, qui nous créera un modèle que nous adapterons un peu :
commande suivante, qui nous créera un modèle que nous adapterons un peu :
<div lang="en-US">
```bash
@ -52,7 +52,7 @@ runc spec
```
</div>
Pour savoir à quoi correspondent tous ces éléments, vous pouvez consulter :
Pour savoir à quoi correspondent tous ces éléments, vous pouvez consulter :
<https://github.com/opencontainers/runtime-spec/blob/master/config.md>
Nous verrons dans les prochains TP, plus en détails tout ce qui porte sur les
@ -61,7 +61,7 @@ aujourd'hui.
## Test brut
Voici comment nous pouvons tester le fonctionnement de notre *bundle* :
Voici comment nous pouvons tester le fonctionnement de notre *bundle* :
<div lang="en-US">
```
@ -75,7 +75,7 @@ rootfs/ config.json
Quelques informations sont disponibles, mais il ne faut pas s'attendre à
retrouver tout l'écosystème de `docker` ; ici il n'y a pas de gestion des
journaux, etc. :
journaux, etc. :
<div lang="en-US">
```bash
@ -92,7 +92,7 @@ virli1 12345 running /tmp/work/runctest 2012-12-12T12:12:12.123456789Z root
## Attacher notre `home`
Dans le modèle de `config.json`, il y a déjà de nombreux systèmes de fichiers
qui sont montés. Nous pouvons les filtrer avec :
qui sont montés. Nous pouvons les filtrer avec :
<div lang="en-US">
```bash
@ -110,7 +110,7 @@ qui sont montés. Nous pouvons les filtrer avec :
</div>
Pour avoir notre équivalent du `-v /home:/home` de `docker`, il va donc falloir
ajouter un élément à cette liste, demandant de *bind* :
ajouter un élément à cette liste, demandant de *bind* :
<div lang="en-US">
```json
@ -143,8 +143,8 @@ stocker les photos (dossier `/srv/images`)[^chmod].
simple pour l'instant serait d'attribuer les permissions `0777` à la
source, temporairement.
Pour ce TP, considérez que vous avez réussi si vous voyez s'afficher :
Pour ce TP, considérez que vous avez réussi si vous voyez s'afficher :
> `Ready, listening on :8080`
> `Ready, listening on :8080`
Il faudra attendre les TP suivants pour avoir du réseau dans notre conteneur.