docker exec

docker exec lance une commande supplémentaire dans un conteneur en marche, avec les mêmes fichiers et le même réseau. C'est ainsi qu'on regarde autour de soi, qu'on teste une connexion ou qu'on ouvre un shell.

Comment ça marche

docker exec api env affiche l'environnement, docker exec -it api sh ouvre un shell interactif (bash sur les images Debian). La commande s'exécute avec l'utilisateur du conteneur, sauf si -u en indique un autre, et se termine sans toucher au processus principal.

Ce qui casse

Cela ne marche que sur un conteneur en marche : celui qui plante au démarrage se diagnostique avec docker logs, ou en lançant son image avec une autre commande. Les modifications faites via exec sont perdues quand le conteneur est recréé ; corrige plutôt l'image.

Dans un terminal

docker exec api env
docker exec -it api sh
docker run --rm -it orders-api sh

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.