DEV Community

Cover image for What is Docker and How it works | DevOps
Lovepreet Singh
Lovepreet Singh

Posted on

What is Docker and How it works | DevOps

📍 Deployment and Testing

Many of us write code of our RESTful API or in general our App. And we deploy them to the Heroku or Vercel (😅 These hosting servers are quite a popular among college people atleast). And after that we can access our website that will be served by the hosting vendors like heroku or vercel.

🙋 But most of the developers (especially beginners) do write code and the things, that they don't consider are:-

  • Code should be able to run on any machine
  • Unit Testing
  • Performance Testing
  • Concurrency or Concurrent Servers
  • Documenting the code

👉 Today, we'll talk about the first point and this is where concept of containerization comes into the picture.

Note:- Images are taken from SimpliLearn

Image description

The solutions to the above problem (Code is running fine on my system but not working on the machine of tester) are:-

  • Use Virtual Machine
  • Use Containers

Image description

🙂 One of the solution is use a Virtual machine which is a kind of simulation of a Computer. But OS in VM (Virtual machine) takes too much memory, large boot up time, Difficult to scale and low efficiency in general because of unnecessary things running that are not required to run our app.

📍 DevOps and its tools

Image description

  • Git and Jira are used for the roadmap of doing things
  • Gradle is used for laying out the Project structure
  • Testing is done using selenium
  • Integration (CI/CD) is done using Jenkins
  • Docker and is used in Deployment

Follow for more, We'll talk about others in later blogs

📍 What is Docker

Docker is a tool to containerize the application so that applications can work in different environments.

🙂 Some Containers Specs:-

  • Multiple containers can run on the same hardware
  • Containers maintains isolated applications
  • Productive and Efficient
  • Easy to configure

Programming memes

Hey, We are almost at the end. Don't give up.

Docker Different Components

📍 On the left we can see that Docker engine has client and server which are communicating through REST API. On the client side Docker CLI is running and Server side we have Docker Deamon.

📍 In more detail we can see on the right side we have different components comprised inside of Docker ecosystem.

👉 Let's see how it works:-

  • Docker Client is accessed from the terminal and docker server or host runs the Deamon and Registry
  • User can create docker images and run containers by passing commands to the docker server using docker client or terminal
  • Docker image is a template having instructions to form up the containers. Docker image is created as Docker file
  • After image creation we store it in the registry so that other people can access it from the registry

Docker Container


In our next Blog we'll see the Working of Docker. It will get more clear from that. Follow for more

Oldest comments (4)

Collapse
 
lovepreetsingh profile image
Lovepreet Singh

📍 Drop your views Here

👉 And Follow for more dev.to/lovepreetsingh

Collapse
 
atharvashankar profile image
Atharva Shankar avhad • Edited

pretty damn nice blog. I like your style of using 🍭🍭 emojis. The only thing was the thumbnail. it can be much much nicer. I recommend using memes and exporting them at low quality.

like this: - (By the Way I use paint.net(its free))

Image description

Collapse
 
tikul1 profile image
Hardik Parmar

really nice blog. looking forward for more blogs

Collapse
 
lovepreetsingh profile image
Lovepreet Singh

🙂🙂🙂🙂