Outros mencionaram docker logs $container_id
para ver a saída do aplicativo. Isso sempre seria minha primeira coisa a verificar.
Em seguida, você pode executar um docker inspect $container_id
para ver os detalhes do estado, por exemplo:
"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"
},
A linha importante é "OOMKilled", que será verdadeira se você exceder os limites de memória do contêiner e o Docker encerrar seu aplicativo. Você também pode consultar o código de saída para ver se ele identifica uma causa para a saída de seu aplicativo.
Observe que isso indica apenas se o próprio docker mata seu processo e requer que você defina um limite de memória em seu contêiner. Fora do docker, o kernel do Linux pode lol seu processo se o próprio host ficar sem memória. O Linux geralmente grava em um log em / var / log quando isso acontece. Com o Docker Desktop no Windows e Mac, você pode ajustar a memória alocada para a VM Linux incorporada nas configurações do docker.
docker logs <container-id>
.