Docker is an Infrastructure as Code tool, or IaC. Dockerfiles are the code, a set of instructions that direct Docker through the steps of creating (or recreating) images. Since Docker is platform agnostic, the same Dockerfile generates identical images on Windows, Mac, and Linux, on private machines, or in the cloud!
There’s a caveat, though. You’ve seen how the arguments in Dockerfiles add flexibility and variety to builds. I maintain a repository with a single Dockerfile capable of building versions of Oracle from 11g ...