Docker is containerization tool which provides set of development standards for building and sharing applications that enable simplicity, agility and various options for software development across various infrastructures. So, we can done our job faster and deploy our applications faster.
Docker is introduced by Soloman Hykes at a PyCon Tech Park in March 2013. In Jun 2014, Docker Engine 1.0 made general availability at DockerCon-1. In 2018, Docker Enterprise Edition 2.0 has been released.
As per Wikipedia, Docker is a set of Platform as a Service (PaaS) products that use OS-level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels. All containers are run by a single operating-system kernel and are thus more lightweight than virtual machines. The service has both free and premium tiers. The software that hosts the containers is called Docker Engine.
Docker open source projects:
|Build Kit||Compose||Containerd and runC|
|Data Kit||Docker CLI||Docker Distribution|
|Hyper Kit||Infra Kit||Libnetwork|
What is simplicity, agility and various options in Docker?
Simplicity: Docker provides developer-friendly, Command Line Interface(CLI)-based workflow and makes it easy to create , share, and run containerized applications. Even your most complex applications are often containerized. you’ll build locally, deploy to the cloud, and run anywhere.
Agility: Docker is simple to configure and helps us to speed up our workflows. Deploying or undeploying applications faster with Docker. Starting and stopping a docker application is faster and easy to do. Change or replace build images faster. Docker even accelerates the migration of applications from the data center to the cloud.
Options / Choice: Docker offers various options. Build, share and run applications across any combination of clouds, operating systems, languages and frameworks. Docker works with every cloud provider and also supports Kubernetes(K8s) for orchestration across hybrid architectures.
Where all we can use Docker?
In a simple term, we can say Docker is used everywhere today. That means, Linux, Windows, Data Centers, Cloud, Serverless and etc. We can use Docker directly or indirectly in any of these environments. The reason I said indirectly is, there are even few softwares which are using Docker images like Kubernetes(K8s).
What is Docker Desktop and Docker Hub?
Docker Desktop is the fastest way to containerize applications with our desktops where Docker Hub is cloud based application registry and development team collaboration service. Docker Hub requires an account to access readily available applications. Will discuss more in another article. Thanks for reading.