Generated by GPT-5-mini| Docker Engine | |
|---|---|
| Name | Docker Engine |
| Developer | Docker, Inc. |
| Released | 2013 |
| Programming language | Go |
| Operating system | Linux, Windows, macOS |
| Platform | x86-64, ARM |
| License | Apache License 2.0 |
Docker Engine Docker Engine is a containerization runtime developed to package applications and dependencies into lightweight, portable units. It enables reproducible deployment across heterogeneous infrastructures such as Amazon Web Services, Google Cloud Platform, Microsoft Azure, Red Hat Enterprise Linux, and Ubuntu. Originating from work by engineers associated with dotCloud and later commercialized by Docker, Inc., it influenced container standards driven by organizations like the Cloud Native Computing Foundation and Open Container Initiative.
Docker Engine provides a runtime and tooling for creating, managing, and running containers on hosts such as Linux kernel-based systems and Microsoft Windows Server. It interacts with kernel facilities pioneered by projects and projects associated with the Linux Foundation ecosystem, including namespaces and cgroups implemented in kernels maintained by contributors like Linus Torvalds. The project sits alongside orchestration systems such as Kubernetes and Mesosphere DC/OS and complements image registries like Docker Hub and Quay.io.
The architecture separates client, daemon, and registry concerns. The daemon (dockerd historically developed in Go (programming language)) exposes a REST API consumed by the CLI and SDKs used by tools such as Ansible (software), Terraform (software), and Jenkins (software). Images are constructed from layered filesystems influenced by unioning drivers originally seen in projects like aufs and later options such as overlayfs and Btrfs. Storage backends integrate with filesystems distributed by vendors like Red Hat and Canonical (company), while networking stacks interoperate with solutions including Flannel (software), Calico (software), and Weave Net.
Official packages are delivered for distributions maintained by organizations such as Debian and Red Hat, Inc. and packaged for platforms like Microsoft Windows 10 and macOS. Installers and configuration guides reference system managers like systemd and container runtime interfaces standardized with the Open Container Initiative. Provisioning is automated in toolchains using Puppet (software), Chef (software), and cloud-init metadata used by providers such as DigitalOcean. Configuration covers storage drivers, logging drivers interoperable with ELK Stack components such as Elasticsearch and Kibana, and runtime options aligned with orchestration systems like Nomad (software).
Core components include the daemon, CLI, REST API, image builder, and layered image store compatible with registries like Amazon Elastic Container Registry. Features include image layering with copy-on-write semantics similar to technologies in LXC (Linux Containers), content-addressable image IDs inspired by systems such as Git, and a container lifecycle management model used by CI platforms like GitLab CI and Travis CI. Integration points exist for secrets management solutions such as HashiCorp Vault and service discovery systems exemplified by Consul (software).
Security leverages kernel primitives: PID, mount, network, IPC, and UTS namespaces implemented in the Linux kernel to isolate containerized workloads. Access control integrates with mandatory access control frameworks developed by projects like SELinux and AppArmor, and capabilities dropping follows guidance from the National Institute of Standards and Technology risk models used by enterprises such as IBM. Cryptographic signing of images uses standards and tooling influenced by initiatives like The Update Framework and projects such as Notary (software), while secure supply chain practices align with work promoted by CNCF and OpenSSF.
Resource management relies on cgroups (control groups) provided by the Linux kernel to enforce CPU, memory, block I/O, and PIDs limits, and integrates with kernel features optimized by contributors like Greg Kroah-Hartman. Storage performance depends on underlying filesystems including XFS, ext4, and advanced storage solutions from vendors such as NetApp and Ceph. Networking performance can be tuned using kernel network stack enhancements from projects like eBPF and orchestration-aware CNI plugins used by Kubernetes and Docker Swarm Mode.
Docker Engine is used for microservices deployments popularized by advocates such as authors of The Twelve-Factor App, continuous integration pipelines in ecosystems like GitHub Actions, and platform engineering patterns implemented by companies such as Spotify and Netflix. It integrates with service meshes exemplified by Istio and Linkerd, storage provisioners like CSI (Container Storage Interface), and observability stacks built around projects such as Prometheus (software) and Grafana. The ecosystem includes registries, orchestration, security scanning tools from vendors like Aqua Security and Snyk, and community initiatives under the stewardship of foundations such as the Cloud Native Computing Foundation.
Category:Containerization