The setup problem
You build a web app on your laptop. It runs because your machine has the right Node, Python, Java, database client, environment variables, and port settings.
Then your teammate clones it in hostel Wi-Fi before a hackathon demo. It fails. Their laptop has a different version, missing package, or no database running.
One idea
Docker makes your app’s running setup explicit. Instead of saying “install some things and try npm start”, you describe the OS-level environment, dependencies, ports, variables, storage, and start command.