I'm currently learning about Docker and i wanted to write a little article to share some information.
First of all, let me explain what is Docker ?
Well, it's the most popular and used container platform.
But, what is exactly a Container ?
Before tackling Docker, it is essential to remember what a container is. It is a lightweight, independent set of software processes, including all the files needed to run the processes: code, runtime, system tools, library, and settings.
Why do we have to containerize ?
Let's say we want to develop an application and move it to another machine. The main problem is that we can have some bugs on one of the machines and we may not know exactly why.. this can be caused by some processes interfacing with each other.
Some resources may touch other resources and that can causes bugs.
That's why we use containers.
Two containerized processes can run side by side on the same computer but they cannot interfere with each other. They are fully and effectively isolated from each other.
Why Docker ?
Basically, Docker is an open source software platform for creating, deploying and managing application containers on an operating system, virtually.
Well, the purpose of using Docker is to maintain an application and its environment on a virtual machine isolated from other processes.
Docker can manage a large number of containers and ensure the communication between them (by manipulating ports).
Some main commands
- docker pull : Pull an image or a repository from a registry
- docker run : Run a command in a new container
- docker ps : List containers
- docker stop : Stop one or more running containers
- docker start : Start one or more stopped containers
- docker ports, docker port mapping : List port mappings or a specific mapping for the container
These are some advantages :
A high degree of portability
Develop applications more efficiently
Ease of use
Docker is now facilitating work for developers and Dev-ops engineers.
Top comments (0)