Using shared network storage for Docker volumes
One of the biggest challenges with running a Docker cluster is figuring out what to do with the data. Docker supports using volumes to store data. By default, the volumes store data on the Docker host. What happens if that container is started on another host? None of the data is available. For most applications, this is a problem.
Docker solved this problem by creating a pluggable storage system. Volumes can be created that connect to a wide variety of storage systems. Those systems can be anything from traditional network storage such as a Network File System (NFS) and Internet Small Computer System Interface (iSCSI) to cloud services such as Amazon S3 or clustered storage systems such as Gluster or Ceph.
Each storage option has its pros and cons. Some may be better suited to some workloads than others. Fortunately, you can choose the best solution on a per-container basis. A public web server may run in Amazon EC2 and need storage...