TechTarget.com/searchitoperations

https://www.techtarget.com/searchitoperations/definition/Docker

What is Docker?

By Kinza Yasar

Docker is an open source software platform used to create, deploy and manage applications in virtualized environments called containers. These containers are lightweight, portable and self-sufficient packages that include everything an application needs to run, such as code, libraries, runtime and system tools. Containers ensure consistent performance across different environments by encapsulating the application and its dependencies.

Docker container technology debuted in 2013. At that time, Docker Inc. was formed to support a commercial edition of container management software and be the principal sponsor of an open source version. Mirantis acquired the Docker Enterprise business in November 2019.

Docker gives software developers a faster and more efficient way to build and test containerized portions of an overall software application. This lets developers in a team concurrently build multiple pieces of software. Each container includes all elements needed to create a software component and ensure it's built, tested and deployed smoothly. Docker enables portability so these packaged containers can be moved to different servers or development environments.

How Docker works

Docker packages, provisions and runs containers. Container technology is available through the operating system (OS): A container packages the application service or function with all the libraries, configuration files, dependencies, and other parts and parameters needed to operate. Each container shares the services of one underlying OS. Docker images contain all the dependencies needed to execute code inside a container, so containers that move between Docker environments with the same OS work with no changes.

Docker uses resource isolation in the OS kernel to run multiple containers on the same OS. This is different from virtual machines (VMs), which encapsulate an entire OS with executable code on top of an abstracted layer of physical hardware resources.

Docker was created to work on the Linux platform. It was extended to offer greater support for non-Linux OSes, including Microsoft Windows and Apple macOS. Versions of Docker for Amazon Web Services (AWS), Google Cloud and Microsoft Azure are available.

Why is Docker so popular?

Docker has gained popularity due to its ability to streamline operations and transform software development and deployment. Here are some key reasons why Docker has gained widespread adoption:

Key use cases for Docker

While it's technically possible to use Docker for developing and deploying any kind of software application, it's most useful to accomplish the following:

Docker architecture: Components and tools

Docker Community Edition is open source, while Docker Enterprise Edition is a commercialized version offered by Docker Inc. Docker consists of various components and tools that help create, verify and manage containers.

Main components and tools in the Docker architecture include the following:

Docker advantages and disadvantages

Docker emerged as a de facto standard platform to quickly compose, create, deploy, scale and oversee containers across Docker hosts. In addition to efficient containerized application development, other benefits of Docker include the following:

There are also potential challenges with Docker, such as the following:

Docker security

A historically persistent issue with containers -- and Docker, by extension -- is security. Despite excellent logical isolation, containers still share the host's OS. An attack or flaw in the underlying OS can potentially compromise all the containers running on top of the OS. Vulnerabilities can involve access and authorization, container images and network traffic among containers. Docker images can retain root access to the host by default, although this is often carried over from third-party vendors' packages.

Docker has regularly added security enhancements to the platform, such as image scanning, secure node introduction, cryptographic node identity, cluster segmentation and secure secret distribution. Docker secrets management also exists in Kubernetes, as well as CISOfy Lynis, D2iQ and HashiCorp Vault. Various container security scanning tools have emerged from Aqua Security, SUSE Security and others.

Here are some best practices that can be used to improve Docker security:

Docker alternatives, ecosystem and standardization

Over the years, Docker has become a foundational tool in containerization, but it's far from the only option available. The broader container ecosystem encompasses a range of third-party tools, competing platforms and open standards that have shaped the development, deployment and management of modern applications.

The following is an overview of key alternatives to Docker and the standardization initiatives that have emerged to promote compatibility and consistency across the container landscape:

Docker company history

Docker has rapidly evolved from a platform-as-a-service component to a key technology in software development and deployment, focusing on providing developers with comprehensive tools and secure workflows. The following is a timeline of major events in Docker's history:

Microservices can be deployed without containers, but they are often deployed together. Understand the benefits and drawbacks of using containers for microservices.

Meredith Courtemanche contributed to an earlier version of this definition.

15 May 2025

All Rights Reserved, Copyright 2016 - 2025, TechTarget | Read our Privacy Statement