Production Best Practices
HEALTHCHECK, instruction, se, Docker, PERIODICALLY, CHECK, kar, sakta, hai, ki, container, ke, ANDAR, ki, APP, ACTUALLY, HEALTHY, hai, ya, NAHI (na, ki, sirf, "RUNNING" — process, running, ho, sakta, hai, LEKIN, APP, khud, HANG, ho, sakti, hai).
PRODUCTION, containers, ko, STDOUT/STDERR, PAR, hi, LOG, karna, CHAHIYE, (files, mein, NAHI) — YE, Docker, ki, LOGGING, DRIVERS, (jaise, json-file, ya, SPECIALIZED, log, AGGREGATORS) ko, LOGS, EASILY, COLLECT, karne, DETA, hai.
# Dockerfile mein health check
HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
CMD curl -f http://localhost:3000/health || exit 1
# Compose mein restart policy
services:
app:
image: myapp
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
interval: 30s
retries: 3
docker ps # STATUS column mein "(healthy)" dikhega- HEALTHCHECK instruction se Docker app ki actual health verify karta hai
- Logs stdout/stderr par jaane chahiye, files mein nahi (production standard)
- restart: unless-stopped crash/reboot ke baad auto-restart ensure karta hai
Application, code, ko, SIGTERM, signal, ko, PROPERLY, HANDLE, karna, CHAHIYE — jaise, IN-FLIGHT, requests, COMPLETE, hone, dena, DATABASE, connections, CLOSE, karna, PHIR, EXIT, karna — bina, isske, "docker stop" FORCE, KILL, (SIGKILL) tak, PAHUNCH, jaata hai aur, DATA, CORRUPT, ho, sakta hai.
Docker, ke, "logging" DRIVERS, (jaise, "json-file", "syslog", "fluentd", "awslogs") se, container, logs, ko, EK, CENTRALIZED, LOGGING, SYSTEM, (jaise, ELK, Stack, ya, CloudWatch) tak, BHEJA, ja, sakta hai, taaki, MULTIPLE, containers, ke, logs, EK, hi, JAGAH, se, dekhe, ja, sakein.
docker run -d --log-driver=json-file --log-opt max-size=10m --log-opt max-file=3 myapp