Wikipedia defines Docker as an open-source project that automates the deployment of software applications inside containers by providing an additional layer of abstraction and automation of OS-level virtualization on Linux
Docker is a container technology, an open source technology which is used to develop, run and ship applications. The major motto to design Docker is for faster delivery of applications than the traditional technology. Using Docker, you can easily keep your applications separated from the infrastructure.
Normally in an organization, the developement team build a software and then the software goes to the testing team for testing and if everything works well then the software goes to the operations team to use the software. They deploy this software on their server. So, as a developer, you use multiple technologies in a software and for example in a spring boot application you will use multiple dependencies to run the software but when you give it to the testing team, they will also have to download all the dependencies to run the software at their end. Which is a very tidious task and sometimes the version differes which can cause multiple error in the application. So to avoid this, we use docker to ship the OS, dependencies, framework along with the application in a container.
Why use containers?
Containers offer a logical packaging mechanism in which applications can be abstracted from the environment in which they actually run. This decoupling allows container-based applications to be deployed easily and consistently, regardless of whether the target environment is a private data center, the public cloud, or even a developer’s personal laptop. This gives developers the ability to create predictable environments that are isolated from the rest of the applications and can be run anywhere.
- Quick Delivery of Applications
- Convenient Deployment and Scaling
- Achieving High Workloads and Product Density
Major Components of a Docker
Docker has two main components:
Docker: Virtualization platform for open source containers. Docker Hub: This is a cloud service- Software as a Service (SaaS) for managing and sharing of Docker containers across applications.
How to Install Docker?
The Community Edition (CE) is a free download, so download Docker CE for Mac, then install and run the app. Moby the whale should appear in your Mac’s status bar.
For Ubuntu : download Docker CE for Ubuntu
So, finally you have setup Docker in your system, now in the next tutorial we will learn how to deploy Spring Boot based JAR application to Docker.