Інші згадували, docker logs $container_id
щоб переглянути вихід програми. Це завжди було б моє перше, що потрібно перевірити.
Далі ви можете запустити a, docker inspect $container_id
щоб переглянути деталі про стан, наприклад:
"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"
},
Важливим рядком є "OOMKilled", який буде істинним, якщо ви перевищите обмеження обсягу пам'яті контейнера і Docker вбиває ваш додаток. Ви також можете знайти код виходу, щоб дізнатися, чи визначає він причину виходу вашим додатком.
Зауважте, це вказує лише на те, якщо сам докер вбиває ваш процес, і вимагає, щоб ви встановили обмеження пам’яті для вашого контейнера. За межами докера, ядро Linux може виконувати ваш процес, якщо у самого хоста не вистачає пам'яті. Linux часто записує у вхід / var / log, коли це відбувається. За допомогою програми Docker Desktop для Windows та Mac ви можете налаштувати пам'ять, виділену вбудованому Linux VM, у налаштуваннях докера.
docker logs <container-id>
.