Showing posts with the label Docker

Docker Container Orchestration

In my previous post we saw the fundamentals of what docker is and some basic commands here .  Docker has evolved multifold since then. Different features like stack, services, swarm mode has been added. Today we are going to talk about the container basics and the new features as well. So what is Container? Container is an isolated area of Operating system running an instance of code or software. This isolated area has resource limit applied. In docker container world there are two fundamental concepts: Namespaces : represents isolation. Control group : grouping of resources and applying limits. Namespaces: When you run a container, docker engine creates a set of namespaces in background to provide isolation from other containers. Process Id (pid):  It assigns pid to the processes within the docker container. These process id's are independent of other processes in other namespaces for.e.g net or mnt. Network (ne

Docker fundamentals

Nowadays everybody is talking about Docker. Some people are well versed with docker concepts and have hands on it and some have started learning docker. So what is Docker?. As per the official docs from docker, Docker is a platform for developers and sysadmins to develop , deploy , and run applications with containers. So what does make it different. We were already doing that since long . When we are deploying application on servers we have to deal with setting up new VM , configuring dependencies / libraries, environment variables. Docker makes this thing easy for you, by providing OS level virtualization (aka. containerization). So basically you can create Docker images that will have all your resources ( env. variables / libs / running on what port). Then you can deploy your application inside docker container anywhere without even worrying about the dependencies. In traditional way you have to setup separate VM and then install all the required software and have