Docker
While Docker hit its version 1.0 milestone over a year ago, it is still in it's infancy; with each new release comes new features, bug fixes, and even support for some early functionality that is being depreciated.
Docker itself is now a collection of several smaller projects; these include the following:
- Docker Engine
- Docker Machine
- Docker Compose
- Docker Swarm
- Docker Hub
- Docker Registry
- Kitmatic
In this book, we will be using Docker Engine, Docker Compose, and the Docker Hub.
Docker Engine is the core component of the Docker project and it provides the main bulk of the Docker functionality. Whenever Docker or the docker
command is mentioned in this book, I will be referring to Docker Engine.
The book assumes you have Docker Engine version 1.71 or later installed; older versions of Docker Engine may not contain the necessary functionality required to run the commands and software covered in the upcoming chapters.
Docker Compose started its life as a third-party orchestration tool called Fig before being purchased by Docker in 2014. It is described as a way of defining a multi-container application using YAML (http://yaml.org). Simply put, this means that you quickly deploy complex applications using a single command that calls a human readable configuration file.
We assume that you have Docker Compose 1.3.3 or later installed; the docker-compose.yml
files mentioned in this book have been written with this version in mind.
Finally, the majority of the images we will be deploying during this book will be sourced from the Docker Hub (https://hub.docker.com/), which not only houses a public registry containing over 40,000 public images but also 100 official images. The following screenshot shows the official repositories listing on the Docker Hub website:
You can also sign up and use the Docker Hub to host your own public and private images.