Docker container is an open source software development platform. Its main benefit is to package applications in “containers,” allowing them to be portable among any system running the Linux operating system (OS). Container technology has been around for a while, but momentum and hype around Docker’s approach to containers have pushed this approach to the forefront. It is one form of container technology.
Docker Containers: Another Form of Virtualization
Think of a container as another form of virtualization. Virtual Machines (VM) allow a piece of hardware to be split up into different VMs – or virtualized — so that the hardware power can be shared among different users and appear as separate servers or machines. Containers virtualize the OS, splitting it up into virtualized compartments to run container applications.
This approach allows pieces of code to be put into smaller, easily transportable pieces that can run anywhere Linux is running. It’s a way to make applications even more distributed, and strip them down into specific functions.
Open Source Background
Docker came along in March 2013, when the code, invented by Solomon Hykes, was released as open source. It’s also the name of a company founded by Hykes that supports and develops Docker code.
Both the Docker open source container and company’s approach have appeal, especially for cloud applications and agile development. Because many different applications can run on top of a single OS instance, this can be a more efficient way to run applications.
The company’s approach also speeds up applications development and testing, because software developers don’t have to worry about shipping special versions of the code for different operating systems. Because of the lightweight nature of its containers, the approach can also improve the portability of applications. Containers are an efficient and fast way to move pieces of software around in the cloud.
The company received $40 million in venture capital funding from Sequoia Inc. in September of 2014, and several reports at the time said the valuation was close to $400M. The platform consists of Docker Engine, a runtime and software packaging tool, and Docker Hub, a service for sharing applications in the cloud.
Portability and Scalability
Some software gurus argue that the real benefit of container technology allows for a much larger scale of applications in virtualized environments, because of the efficiencies of virtualizing the OS. Others argue that the real benefit is in DevOps and testing because the applications can be built and tested much more quickly.
The downside of open source container technology is that it is limited to use in Linux environments. Also, as an application technology, it requires specific expertise and security safeguards geared toward a container architecture.