Docker isn’t container virtualization. Docker's container approach is an open source platform that can help administrators automate application deployment in containers. Tools like Docker rely on a container layer implemented in Linux through components including LXC (Linux Containers), libvirt or systemd-nspawn. Docker does include its own library for containerization called libcontainer. Other container approaches include cgroups, Checkpoint/Restore for Linux in userspace (CRIU), and Kubernetes.
By submitting your personal information, you agree that TechTarget and its partners may contact you regarding relevant content, products and special offers.
The reason that Docker's container platform has garnered so much attention across the industry is that it provides a single platform that can effectively assemble and manage an application and all of its dependencies into a single package that can be placed into a container and run on any Linux server. The way Docker packages the application allows it to run on-premises, in a private cloud, in the public cloud, and so on. So Docker provides enormous application flexibility and portability – it’s these attributes that have attracted the attention of so many enterprise adopters.
For example, Docker is integrated into major cloud providers like Amazon Web Services (AWS), Google Cloud Platform and Microsoft Azure along with leading cloud infrastructure tools like Cloud Foundry Diego, OpenStack Nova, OpenSVC, Chef, Puppet, Salt and others. Docker may eventually be integrated into Red Hat’s OpenShift Origin platform.
Although Docker's container platform is currently focused on Linux environments, there is an initiative called the Open Container Project (OCP) underway to create a vendor-neutral standard that supports multiple operating systems. So ideally a software developer should be able to package an application and know that it will run with Docker, rkt from CoreOS, or other projects like the Jetpack runtime for FreeBSD and Apcera’s Kurma container environment. The idea is to create a single uniform container environment rather than create multiple competing (and incompatible) environments.
Containers offer new opportunities for software developers and data center operators, but containers also pose new challenges that should be understood and addressed. The good news is that container technology is not exclusive. Containers are simply another tool in the virtualization toolbox – it can coexist with current hypervisor-based virtualization in the same environment, allowing administrators and developers to experiment with and embrace containers at a comfortable pace.
How Docker become an overnight success
Docker orchestration tools and scalability
Docker and Kubernetes introduce a new era of container technology
Exploring container limitations in cloud development
Dig Deeper on IT Ops Implications of Continuous Delivery
Related Q&A from Stephen J. Bigelow
RAID 5 and RAID 6 are two types of erasure coding. The former protects data with basic parity, while the latter builds in a second layer of parity ...continue reading
Cleanly divided and straightforward applications are good candidates for a container-based deployment, whereas complex applications pose more ...continue reading
Assessing the impact of containers on application workloads can be extremely challenging, partially because of how quickly containers are spun up and...continue reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.