Skip to content
Snippets Groups Projects
Verified Commit 89a357f1 authored by Quentin Duchemin's avatar Quentin Duchemin
Browse files

[Doc] Add good practice about init system

parent fe5d61f8
No related branches found
No related tags found
No related merge requests found
......@@ -124,6 +124,24 @@ services:
- docker_default
```
## Système init
Tous les systèmes Linux ont un système dit `init`, correspondant au processus avec le premier PID (1). Ce processus est le parent de tous les autres, et doit transmettre les signaux qu'il reçoit à ses enfants (par exemple, un signal de terminaison).
Quand vous lancez un conteneur avec un script Shell ou Bash comme entrypoint, ce script a le PID 1.
S'il démarre ensuite l'application, il ne transmettra pas le signal de terminaison à ses enfants.
Le souci, c'est qu'un `docker stop` enverra un signal `SIGTERM` au script d'entrypoint, mais il ne sera pas transmis au service en lui-même, qui se terminera brutalement par un `SIGKILL` après expiration du timeout.
Docker Compose, depuis la version 3.7, adresse ce problème avec une directive très simple :
```
services:
exemple:
init: true
```
[Plus d'informations sur ce lien](https://hynek.me/articles/docker-signals/) et [sur la documentation de Compose](https://docs.docker.com/compose/compose-file/#init)
## Réseaux
L'idée est de mettre dans des réseaux séparés les services n'ayant pas besoin de communiquer entre eux, pour améliorer la sécurité de l'infrastructure.
......
......@@ -36,6 +36,11 @@ services:
# Use a comprehensive name for easy
# understanding of `docker ps` output
container_name: app
# Add a init-like process in the container to
# forward signals to the child process.
# Use this line if you are using an Bash script
# entrypoint, for exemple.
init: true
# If the container has to be reached from
# the Internet, put in docker_default
# Otherwise, just in its own network
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment