The Docker Engine has several parameters to tune, such as cgroups, memory, CPU, filesystems, networking, and so on. Identifying which Docker containers run on which Docker hosts is another aspect of configuration. Getting the combination of parameters to optimize our application will take time.
Replicating all the preceding configuration items to another Docker host is difficult to perform manually. We might not remember all the steps required to create a host, and it is an error-prone and slow process. Creating documentation to capture this process doesn't help either because such artifacts tend to get stale over time.
If we cannot provision new Docker hosts in a timely and reliable manner, we will have no space to scale out our Docker application. Therefore, it's important to prepare and configure our Docker hosts in a consistent...