In our last posts we’ve already seen Jenkins, Ansible how to set up and get started with them. In this series of Docker for Beginner we will be seeing how one can get started with Docker, In this post we will be focusing on What is Docker? What is container? What are the advantages of Containerization? What is Dockerfile? and What are Docker images?
What is Docker?
What is Container ?
A container is essentially a fully packaged and portable computing environment
Too much confusion? Let’s try to understand in a lay man perspective.
Docker is a Software which helps to package and ship application into a single entity called container.
An application which runs in an isolated environment is called container.
Let’s understand using the real use case: I have a Java + MySql application and I want that application to give (ship) to my testing team. What I’ll be doing is I’ll be packaging both Java and MySql into a single container and Docker will be used to running and shipping the same.
You might be wondering how do we do that? At this moment we shouldn’t be worrying about that, in the coming post we will be for sure learning the same.
The use of containers to deploy applications is called containerization.
If you’re new to Containerization, please go through this.
Advantages of Containerization.
- Flexible: Even the most complex applications can be containerized.
- Lightweight: Containers leverage and share the host kernel, making them much more efficient in terms of system resources than virtual machines.
- Portable: You can build locally, deploy to the cloud, and run anywhere.
- Loosely coupled: Containers are highly self sufficient and encapsulated, allowing you to replace or upgrade one without disrupting others.
- Scalable: You can increase and automatically distribute container replicas across a datacenter.
- Secure: Containers apply aggressive constraints and isolations to processes without any configuration required on the part of the user.
What are Docker Images?
A Docker image is built up from a series of layers. Each layer represents an instruction in the image’s Dockerfile.
Now What is Dockerfile?
Dockerfile is file which consists of set of instructions to create an image.
In very basic term, Dockerfile consists of instruction to build docker image, When we build docker image it consists of all the binaries of an application and When we run that docker image it is termed as container. So, running instance of docker image is docker container.
In the next post we will be seeing how to install docker on Ubuntu and start creating our container. Let me know your queries in comment section.