Forme exec
Forme exec (en anglais exec form) : écriture d'une instruction CMD, ENTRYPOINT ou RUN sous forme de tableau JSON, qui lance le programme directement, sans shell intermédiaire.
Avec CMD ["gunicorn", "app:app"], le programme devient le PID 1 du conteneur et reçoit les signaux d'arrêt. Avec la forme shell (CMD gunicorn app:app), le PID 1 est /bin/sh, qui ignore SIGTERM : le conteneur met alors dix secondes à s'arrêter et son application est tuée sans arrêt propre.
Dans les cours
- Docker : les fondamentaux, leçon 6 : Cycle de vie et diagnostic
- Docker : les fondamentaux, leçon 8 : Un premier Dockerfile