My scrapbook about almost anything I stumble upon in my tech world. If you find anything useful don't forget to give thumbs-up :)


Sunday, October 23, 2022

Docker: Overriding ENTRYPOINT and CMD

Docker is one of the most used tool among not only developers but almost everyone to either demo some application or playing with it. 

Usually, Dockerfile holds all the instruction to create the docker image including the command which need to run when it spin a container. Those commands are referenced as ENTRYPOINT and CMD and what's the difference is always a big question for new comer. 

Rather then going into the technical details of What are those, I will go with simple explanation of these 2 buddies, I hope this will help you to better understand these buggers :) 

  • Either of them, if used alone, is responsible for executing the command within container
    • So either use ENTRYPOINT or CMD both will run the command mentioned in it.
    • CMD ["nginx", "-g", "daemon off;"] # OR
    • ENTRYPOINT ["nginx", "-g", "daemon off;"]
  • We can override the CMD command in command
    • docker run <image> <cmd>
  • and similarly, we can override the ENTRYPOINT as well   
    • docker run --entrypoint <entrypoint_cmd> <image>
  • But if we used them together, the behave like below - 
    • <entrypoint_cmd> <cmd>
So if you want your user to override the entry command, use CMD, it is comparatively easy to override in command line than ENTRYPOINT.  

Like the below page to get the update  
Facebook Page      Facebook Group      Twitter Feed      Telegram Group

No comments:

Post a Comment


The postings on this site are my own and don't necessarily represent IBM's or other companies positions, strategies or opinions. All content provided on this blog is for informational purposes and knowledge sharing only.
The owner of this blog makes no representations as to the accuracy or completeness of any information on this site or found by following any link on this site. The owner will not be liable for any errors or omissions in this information nor for the availability of this information. The owner will not be liable for any losses, injuries, or damages from the display or use of his information.