Containers allow us to package up entire operating system environments.
The Jefferson Lab Common Environment containers provide a standard environment.
Docker containers can be used on the widest array of platforms.
Although using containers with singularity does not require superuser privileges, creating containers still does.
Dockerfiles are recipes for docker containers.
By storing Dockerfiles in a GitHub repository we gain version both tracking and cloud building.
FIXME