Saturday 15 April 2017

Docker : A tool which is silently creating revolution in 'DevOps' way!

Docker  
   
 is a containerisation platform which package our application and all its dependencies together in form of containers to ensure that our application works seamlessly in any environment be it Development, Test or Production.

Docker is not just another stack in virtual machine (VM) concept. To relate containerisation is just virtualisation at the OS level. 
Taken from some online tutorial.
Why Docker?
Containers on same OS kernel are lighter & smaller.
Containerisation brings process level isolation.
Better resource Utilisation compared to VM.
Short Boot-up process (1/20th of a second).

VM Vs Docker at glance:-
source:Internet

Docker Engine
Communication happens between docker client & Docker Daemon by combination of REST API, Socket.IO and TCP.
source: Internet
Docker Terminology
Docker Daemon: 
      It run on host Machine.
     It creates and manages dockers object such as images, containers, Networks, Data, Volumes etc.
     User does not directly interact with the docker client.
Docker Client:
   Primary user interface to docker.
   It accepts commands from the users and communicates back and forth with dockers daemon.
Docker Images:
    Images are used to create docker containers.
    Dockers provides a simple way to build new images or update existing images,
    Docker images are the 'Build' component of dockers.
Docker Registries:
    Registries store images.
    These are public or private stored from which we upload/downloads images. 
    This can be done on docker hub (which is docker version of GITHUB)
   Docker Registry are 'distribution' component of docker.
Docker Containers:
    Containers are created from docker images.
    It holds everything needed for an application to run.
   Each containers is an isolated and secure application platform.
   Docker containers are the 'run' components of docker.

Docker Architecture:
It has following component: 
build---  pull  ---   distribute   ---  run
source:Internet

Handy Docker commands on the GO:

To pull a docker images from docker hub
       $ docker pull <image-name:tag>
To run an images
       $ docker run<image-name:tag>   OR 
      $ docker run <image-id>
To Build an image
       $ docker build -t <image-name>:tag
To run newly built image
 $ docker run --name "container name" -p <host-port>:<container-port><image-name:tag>
To list down images on our system
       $ docker images
To list down all the running containers
       $ docker ps
To list down all the containers (even if they are not running)
       $ docker ps -a
To start the containers
       $ docker start <container id>
To stop the container
       $ docker stop <container id>
To delete the container [This command should be used after container is stopped]
       $ docker rm <container name>
To delete image
       $ docker rmi <image id>  OR
       $ docker rmi <repo:tag>

The blog has been written after reading and watching online materials on dockers.

Thank you!
Satender Kumar Mall
Twitter : @satenderiiit
Facebook Page: https://www.facebook.com/pages/Satender-Kumar-Mall-Blogs

6 comments:

  1. I love the blog. Great post. It is very true, people must learn how to learn before they can learn. lol i know it sounds funny but its very true. . .
    DevOps Training in chennai

    DevOps Training in Bangalore

    ReplyDelete
  2. I enjoy what you guys are usually up too. This sort of clever work and coverage! Keep up the wonderful works guys I’ve added you guys to my blog roll.
    java training in chennai

    java training in omr

    aws training in chennai

    aws training in omr

    python training in chennai

    python training in omr

    selenium training in chennai

    selenium training in omr



    ReplyDelete
  3. SketchUp Pro 2022 Crack is a powerful 3-D building application created for a severe variety of sketching application. Be conscious of the most recent update .Sketchup Crack

    ReplyDelete