Meeting Docker
If you are not familiar with Docker, then we could examine it briefly. Basically, the term Docker falls into the same containerization technology paradigm. Unlike Linux containers, Docker is a great software that has the following qualities:
- It isolates a containers workload within the same infrastructure or machine (shared resources)
- It is much lighter and faster in running applications on shared compute resources
- It allows a direct interaction with the underlying driver devices
- It can be installed and run on bare metal machines
- It enables saving, rolling back, and creating snapshots of the state of containers
- It provides a new level of image portability by committing and sharing images for later use
Out of the box, Docker helps enterprises to build intuitive microservice applications. Although Docker is not intended to replace virtual machines, it can be considered as an excellent tool for software and application packaging, and it brilliantly enforces the immutable infrastructure pattern.
Docker is still emerging as a successful tool, especially for cloud environments. As OpenStack kept enlarging its virtualization platform support list, Docker has been recently added to the list of supported hypervisors. OpenStack exposes a new node driver, docker.DockerDriver, it contacts the Docker registry holding images and uploads them to Glance. New spawned instances will be running Docker engine to run containers. Note that any internal communication between a Docker virtual driver and a Docker agent is performed using HTTP API calls, as shown in the following diagram: