As noted in the previous chapter, Docker containers are a technology that allows applications to run inside software-defined environments. They were introduced publicly in the spring of 2013, and Docker has grown rapidly since then, with the company expanding and the platform gaining new features.
What makes Docker so promising as a technology for enterprises? How can Docker complement or replace the infrastructure that enterprises already have in place, such as virtual machines?
This chapter answers those questions in order to explain why Docker matters today in an enterprise.
If you’re a developer or system administrator, Docker containers offer a number of key advantages for writing and deploying software.
As I discuss later in this chapter, Docker containers are not free of overhead. A Dockerized application will usually not perform quite as well as a conventional application running on a bare-metal server (in other words, a physical server that hosts applications directly on its physical hardware, with no virtualization layers separating the hardware from the applications).
However, the resource overhead of Docker is minimal, and so is the difference between an application hosted by Docker and an application running directly on a bare-metal server. Dockerized application performance is certainly better than that of most other virtualization platforms. This is a key advantage for organizations ...