1.6 KiB
\newpage
https://ops.tips/blog/run-docker-with-forked-runc/
runc
runc
est le programme qui est responsable de la création effective du conteneur : c'est lui qui va mettre en place les namespaces, les capabilities, 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.
Si vous n'avez pas eu le temps de terminer l'exercice précédent, vous pouvez utiliser docker export | tar -C rootfs xv
.
On va essayer de lancer un shell alpine
avec un volume dans notre home :)
D'abord on extraie l'image avec le script précédent, puis on crée le fichier de conf qui va bien.
Aujourd'hui, la création de conteneur est faite avec runc
, mais il est parfaitement possible d'utiliser n'importe quel autre programme, à la place de runc
, à partir du moment où il expose la même interface à Docker et qu'il accepte les bundle OCI.
https://github.com/opencontainers/runtime-spec/blob/master/config.md
https://hackernoon.com/docker-containerd-standalone-runtimes-heres-what-you-should-know-b834ef155426
Exercice
Réaliser un config.json
qui permette de lancer le conteneur nemunaire/fic-admin
.
Exercice
Serez-vous capable d'écrire un fichier config.json
permettant d'obtenir le
même résultat que votre projet de moulette ?
- CGroups : 1GB RAM, 100 PID, ...
- strict minimum de capabilities ;
- volume étudiant pour correction ;
- carte réseau
veth
; - ...