CMD vs ENTRYPOINT
CMD, POORI, TARAH, OVERRIDE, ho, sakta, hai — "docker run image echo hi" chalane, PAR, CMD, mein, LIKHI, HUI, POORI, COMMAND, IGNORE, ho, jaati, hai. ENTRYPOINT, OVERRIDE, NAHI, hota (jab, tak, "--entrypoint" flag, use, na, karo) — CLI, PAR, DI, GAYI, EXTRA, cheezein, sirf, ARGUMENTS, ki, TARAH, ENTRYPOINT, ko, PASS, ho, jaati, HAIN.
DONO, ko, SAATH, mein, USE, karna, EK, POWERFUL, PATTERN, hai: ENTRYPOINT, FIXED, EXECUTABLE, DEFINE, karta hai, aur, CMD, USKE, DEFAULT, ARGUMENTS, DETA, hai, jo, RUNTIME, PAR, EASILY, CHANGE, ho, sakte, HAIN.
# ENTRYPOINT + CMD combo
ENTRYPOINT ["python3", "app.py"]
CMD ["--port", "8000"]
# docker run myimage --port 9000
# -> python3 app.py --port 9000 (CMD ka argument overridden)- CMD easily override ho jaata hai, ENTRYPOINT fixed rehta hai
- ENTRYPOINT + CMD combo = fixed command + overridable default args
- --entrypoint flag se hi ENTRYPOINT override kiya ja sakta hai
CMD/ENTRYPOINT, DO, FORMS, mein, LIKHE, ja, sakte, HAIN: SHELL, FORM, ("CMD npm start") EK, SHELL, ke, ANDAR, RUN, hota, hai, (signals, PROPERLY, PASS, NAHI, hote), JABKI, EXEC, FORM, ("CMD ["npm", "start"]") DIRECTLY, PROCESS, ki, TARAH, RUN, hota, hai (signals, correctly, PASS, hote, HAIN, jaise, SIGTERM).
"--entrypoint" flag, se, RUNTIME, PAR, ENTRYPOINT, OVERRIDE, kiya, ja, sakta hai — YE, DEBUGGING, ke, liye, USEFUL, hai, JAB, TUM, container, ke, DEFAULT, behavior, ko, BYPASS, karke, DIRECTLY, EK, SHELL, kholna, CHAHTE, ho.
docker run --entrypoint bash -it myapp
# Normal ENTRYPOINT ignore karke seedha bash shell mil jaayegi