Docker is a containerization platform.
The way I like to describe it is that a user can create an isolated computer inside of another computer that just has the things they've defined should be on it.
Docker knows what a user defined by the user giving it a
Dockerfile when running the command. This file is how the user describes how the "computer" should look. A user could tell Docker to use a specific operating system, have specific executables and have certain environment variables.