Docker is a platform for developing, shipping, and running applications in containers. A container packages your application code together with its dependencies, libraries, and configuration files into a single portable unit that runs consistently in any environment.
"Works on my machine" is no longer a problem — if it runs in a Docker container, it runs everywhere.