D'autres ont mentionné docker logs $container_id
pour afficher la sortie de l'application. Ce serait toujours ma première chose à vérifier.
Ensuite, vous pouvez exécuter a docker inspect $container_id
pour afficher les détails de l'état, par exemple:
"State": {
"Status": "exited",
"Running": false,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 0,
"ExitCode": 2,
"Error": "",
"StartedAt": "2016-06-28T21:26:53.477229071Z",
"FinishedAt": "2016-06-28T21:26:53.478066987Z"
},
La ligne importante est "OOMKilled" qui sera vraie si vous dépassez les limites de mémoire du conteneur et Docker tue votre application. Vous pouvez également rechercher le code de sortie pour voir s'il identifie une cause de sortie par votre application.
Notez que cela indique uniquement si docker lui-même tue votre processus et nécessite que vous ayez défini une limite de mémoire sur votre conteneur. En dehors de docker, le noyau Linux peut lol votre processus si l'hôte lui-même manque de mémoire. Linux écrit souvent dans un journal dans / var / log lorsque cela se produit. Avec Docker Desktop sur Windows et Mac, vous pouvez ajuster la mémoire allouée à la machine virtuelle Linux intégrée dans les paramètres du docker.
docker logs <container-id>
.