Docker is the most common containerization software; it is used widely in both industry and scientific settings to control the computational environment in which software and data pipelines are built. In academic settings Docker is one way to increase the computational reproducibility of your work.
Singularity is used when tighter security is needed in a server environment and for all High Performance Computing.