Conteneur

Un conteneur est un processus ordinaire du serveur, isolé par le noyau : il voit ses propres fichiers, son propre réseau et sa propre liste de processus, et reçoit une part du CPU et de la mémoire. Il démarre en une fraction de seconde car il n'y a aucun système d'exploitation à démarrer.

Comment ça marche

docker run prend une image, ajoute par-dessus une fine couche inscriptible, crée des namespaces (ce que le processus peut voir) et des cgroups (ce qu'il peut consommer), puis lance la commande de l'image à l'intérieur. Tous les conteneurs partagent le noyau du serveur : c'est pour cela qu'un conteneur est bien plus léger qu'une machine virtuelle, et qu'une image Linux a besoin d'un noyau Linux.

Ce qui casse

Un conteneur n'est pas un petit serveur dans lequel on se connecte pour le réparer. Tout ce qui y est modifié à la main disparaît quand il est recréé, et rien d'extérieur ne peut le joindre tant qu'aucun port n'est publié. Traite les conteneurs comme jetables : reconstruis l'image et remplace le conteneur.

Dans un terminal

docker run -d --name web -p 8080:80 nginx:1.27
docker ps
curl http://localhost:8080

Regarde-le casser, puis répare-le

Écris le Dockerfile ou le fichier compose, tape les commandes docker, et regarde un serveur simulé les exécuter à travers redémarrages, mises à jour et trafic. Gratuit pour commencer.