ENTRYPOINT ਅਤੇ CMD ਦੋਵੇਂ ਇਹ ਪਰਿਭਾਸ਼ਤ ਕਰਦੇ ਹਨ ਕਿ ਜਦੋਂ ਇੱਕ ਕਨਟੇਨਰ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ ਤਾਂ ਕੀ ਚਲਦਾ ਹੈ, ਪਰ ਉਹ ਵੱਖ-ਵੱਖ ਭੂਮਿਕਾਵਾਂ ਨਿਭਾਉਂਦੇ ਹਨ ਅਤੇ ਵਿਸ਼ੇਸ਼ ਤਰੀਕਿਆਂ ਨਾਲ ਆਪਸ ਵਿੱਚ ਕੰਮ ਕਰਦੇ ਹਨ। ਅੰਤਰ ਨੂੰ ਸਮਝਣਾ (ਅਤੇ ਦੋਵੇਂ ਰੂਪ — exec ਬਨਾਮ shell) ਅਜਿਹੀਆਂ Dockerfiles ਲਿਖਣ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ ਜੋ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰਦੀਆਂ ਹਨ।
CMD — ਮੂਲ ਅਨੁਸਾਰ ਕਮਾਂਡ (ਲਬਾਦੀ)
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
ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਜੋ 'ਤੇ ਦਿੱਤੀ ਕਿਸੇ ਵੀ ਕਮਾਂਡ ਦੁਆਰਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
