- Débutant
- Conteneurs et images
Comment ça marche
Le processus principal tourne en PID 1 dans le conteneur. Il reçoit le signal d'arrêt de docker stop et doit le gérer. Un serveur doit rester au premier plan : un service qui se met lui-même en arrière-plan rend la main aussitôt, et le conteneur s'arrête.
Ce qui casse
Avec la forme shell CMD node server.js, Docker lance /bin/sh -c, et le shell ne transmet pas SIGTERM à node : docker stop attend 10 secondes puis tue tout, coupant les requêtes en cours. La forme exec CMD ["node", "server.js"] fait de node lui-même le PID 1.
Dans un terminal
docker run -d --name web nginx:1.27
docker top web
docker inspect -f '{{.Config.Cmd}}' web
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.