What is docker?
When working on any product development, you need an environment to test your application.For example, you are developing an application in the JAVA 22 version so you need an environment where Java 22 is installed.
The environment will consist of JAVA 22, application libraries, OS, etc.
So in the traditional development environment either you create a virtual machine(VM) or a physical machine with all the environment and dependencies to test all your applications. Sometimes it might happen that you need to get approval from management to procure a new VM or physical machine.
It was quite a challenge for the developer and system administrator to get approval from management.
Now before knowing what is docker, first understand what is container.
A container is like an application that will have a full environment and dependency to run applications. This runs as a separate process on Linux OS.
In layman's terms, a container is like a box where developers will put all their application environment dependencies to run applications.
Docker is nothing but a tool to create a container. Using docker, you can stop, start, and deploy containers.
Docker is not only a tool to manage containers, there are others like Rocket, Podman, etc.
Before Docker, developers will share the source code with the system administrator so they can deploy it on a QA machine for testing.
One of the major concerns was running the source code on a QA machine, it was often happening that the source code provided by the developer would not work on the QA machine.
There could be multiple issues like environment or libraries or dependencies missing so source code is not getting deployed.
Docker addresses all of these issues, With docker you do not need to worry about all these issues.
You can create a container with the required environment, libraries, and dependencies and test your application.
You share the same application with others.
Common features of docker.
Scalable and lightweight
Using docker images, you can run as many containers of the same image.
Containers take very minimal resources(CPU, Memory) to run.
Portable Docker Apps can run anywhere, you can install the Docker on your desktop, or laptop.
Build any app in any language using any stack
Docker ensures your applications and resources are isolated and segregated.
Environment Standardization and Version control.
key underlying technology of docker
-Docker daemon
-Docker client
-Docker images
-Docker container
-Docker registry
-Dockerfile
We will cover the core technology of docker in our next post. Kindly let me know if you have any question or suggestion in comment section. Please hit the subscribe button and stay tune for more technical article.