Tuesday, December 31, 2019

What is Docker

What is Docker

Docker is said to be industry leader container runtime. Docker Engine powers millions of applications worldwide, providing a standardized packaging format for diverse applications.

Docker is a tool designed to make it easier to create, deploy, and run applications by using containers. Containers allow a developer to package up an application with all of the parts it needs, such as libraries and other dependencies, and ship it all out as one package. By doing so, thanks to the container, the developer can rest assured that the application will run on any other Linux machine regardless of any customized settings that machine might have that could differ from the machine used for writing and testing the code.

For developers, it means that they can focus on writing code without worrying about the system that it will ultimately be running on. It also allows them to get a head start by using one of thousands of programs already designed to run in a Docker container as a part of their application. For operations staff, Docker gives flexibility and potentially reduces the number of systems needed because of its small footprint and lower overhead.

Docker Engine is the industry’s de facto container runtime that runs on various Linux (CentOS, Debian, Fedora, Oracle Linux, RHEL, SUSE, and Ubuntu) and Windows Server operating systems. Docker creates simple tooling and a universal packaging approach that bundles up all application dependencies inside a container which is then run on Docker Engine. Docker Engine enables containerized applications to run anywhere consistently on any infrastructure, solving “dependency hell” for developers and operations teams, and eliminating the “it works on my laptop!” problem.

Below are few key features of Docker

1. Powered by containered

Built on the leading open source container runtime, a graduated project of the Cloud Native Computing Foundation (CNCF). Containerd implements Kubernetes Container Runtime Interface (CRI) and is widely adopted across public clouds and enterprises.

2. FIPS 140-2 Encryption

The only container runtime that has been validated by NIST for its encryption, forming a secure and compliant foundation for deploying containerized applications. Part of a “secure by design” engineering philosophy

3. Enforce Signed Images
Validate the provenance of containers by enforcing proper digital signing of images before being deployed. Prevents a user from using a container image from an unknown source or building a container image from a base layer from an unknown source.

4. Integrated BuildKit

BuildKit is an open source tool that takes the instructions from a Dockerfile and ‘builds” a Docker image. This process can take a long time so BuildKit provides several architectural enhancements that makes it much faster, more precise and portable.

5. Docker CLI

The most popular way to interface with Docker containers is the Docker CLI - a simple, yet powerful client that greatly simplifies how you manage container instances through a clear set of commands.

6. Certified Plugins

Integrate Docker Engine with your preferred networking, storage, and logging tools through validated and certified plugins. The plugin architecture extends capabilities of Docker Engine to 3rd party provided tools.



References:
https://www.docker.com/products/container-runtime#/download

No comments:

Post a Comment