Пример однострочника на nodejs для реализации docker healthcheck путём отправки http-запроса на определенный урл.
Реализация для добавления в Dockerfile.
HEALTHCHECK --interval=1m --timeout=5s CMD /usr/local/bin/nodejs -e "var http = require('http'); http.get('http://localhost:3000/api/ping', (res) => { if(res.statusCode == 200) { process.exit(0); } else { process.exit(1); } }).on('error', (e) => { process.exit(2); });" || exit 3
Коды возврата:
- 0 — все хорошо
- 1 — вернулся не 200-ый код ответа
- 2 — ошибка при выполнении запроса