text: **2.3.3 Docker as a container manager**
  
  Docker is the virtualized platform to host containerized applications, starting from software 
  development until execution. Docker engine is a client/server application that features the 
  following components: 
  
  (cid:2) Daemon: These processes run in the background and are not attached to any terminal 
  
  session. Mostly, these processes are designed to receive instructions from other 
  applications to perform specific tasks. Daemons plays a key role to manage Docker 
  objects, such as images, containers, networks, and volumes. 
  
  (cid:2) REST API: These user interfaces are used in code to send instructions to Daemon jobs. 
  
  (cid:2) CLI: These commands are run in terminal sessions to send instructions to Daemon. 
  Script-based batch jobs are created by using CLI. 
  
  Docker Containers optimize software development process with following objectives: 
  
  (cid:2) Streamline the development process by using standardized environments of local 
  
  containers, which are highly compatible for CI/CD workflow. Automation plays a significant 
  role to build and run test scenarios. 
  
  (cid:2) Docker containers are lightweight in nature, which makes it highly portable to almost every 
  possible environment from workstation to virtualized environment to cloud. This feature 
  makes it highly scalable based on user requirements. 
  
  (cid:2) Docker requires minimal resources so that multiple Docker containers can be hosted on 
  the same hardware for optimal performance and resource usage. 