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.
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.
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
Your power users will want to be the first in line to try out upcoming features through the Office 365 targeted release program. Set up early access ... Continue Reading
Many compatibility issues can arise when moving VMs to the public cloud. Watch out for compatibility problems with partitions, OSes and image formats... Continue Reading
To migrate a VM and its dependencies from a local data center to a public cloud, use the forklift method to prepare the VM for migration, deploy the ... 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.