Too Long; Didn't Read
Docker is an open-source tool that handles the lifecycle of your containers. It's used to simplify how you build and ship the code you run in production. Developers can share a container image and build and run the exact same container on different machines. Docker containers are super lightweight and can be used on top of any number of system configurations and still run the application exactly like you expect it to. Docker images are the templates for creating Docker containers. They have instructions that dictate which packages and preconfigured server environments are needed for your application to run.