DEV Community

Cover image for Introduction To Docker
Samuel K.M
Samuel K.M

Posted on

Introduction To Docker

Docker is an open platform for developing, shipping, and running applications.

In lay mans language i would define docker as a platform that enables you build once and deploy everywhere.Docker enables you to separate your applications from your infrastructure, therefore you wont have to set up all the dependencies your apps need all over again and again as you migrate between different environments

Before proceeding further it is important to highlight some important concepts that you will commonly hear of in the docker world .This are:

Docker Image

A Docker image is a lightweight, standalone, executable package of software .For example we have a mysql image which includes everything needed to run mysql: code, runtime, system tools, system libraries and settings

Docker Hub

The hub is a repository where container images are stored. You can get public images as well as store your own private images.

Docker Container

Docker Container is a layer of images .
Docker Image

Docker images become containers when they run on Docker Engine.

Docker Container

Docker Engine

Docker Engine is the runtime environment for all containers. Docker engine can be used in both linux and windows based infrastructure. A docker application can easily be run in any environment as long as there is a docker engine.

This solves the “dependency hell” for developers and operations teams, and eliminating the “it works on my laptop!” problem.

Docker Engine

The Difference between Docker And Virtual Machines

Before understanding the difference between Docker and Virtual machines its important to understand Operating systems. Operating systems have an application and kernel layer

OS Layers

Docker virtualizes the application layer and use the kernel of the host while a virtual machines virtualizes both application & kernel layer.

Docker size is small a couple of megabytes while a virtual machine size is large a couple of gigabytes .

Docker is faster while a virtual machines size is slower.

Oldest comments (0)