ENTRYPOINT اور CMD دونوں یہ define کرتے ہیں کہ جب کوئی container شروع ہو تو کیا چلے، لیکن وہ مختلف کردار نبھاتے ہیں اور مخصوص طریقوں سے interact کرتے ہیں۔ فرق کو سمجھنا (اور دونوں forms — exec بمقابلہ shell) ایسی Dockerfiles لکھنے کے لیے اہم ہے جو بالکل صحیح طریقے سے کام کریں۔
CMD — default command (قابل override)
CMD ["node", "server.js"]
# → the DEFAULT command when the container starts
# → but it's REPLACED if you pass a command at run time:
# docker run myapp echo hello → runs "echo hello" INSTEAD of node server.js
فراہم کرتا ہے، جو پر دی گئی کسی بھی command کے ذریعے ہو جاتا ہے۔
