Have you ever written code that works perfectly on your machine but fails when run on another system? This often happens because of differences in dependencies, configurations, or software versions. Docker solves this problem by ensuring that an application runs the same way everywhere—whether on your PC, a colleague’s machine, or a server.
Docker uses images and containers:
• Images → Think of them as a recipe for your application. An image includes everything needed to run the app: the code, dependencies, configurations, and OS libraries.
• Containers → These are the actual running instances of an image. They act like an isolated environment, ensuring that the app has all the right dependencies and configurations to run correctly.
With Docker, developers avoid the “works on my machine” problem because the application runs in a self-contained, portable environment that behaves the same on any system.
As of now (23/02/2025) I don’t think its crucial to know the architecture of docker, but maybe in the future i will improve this section, if more information is needed

Daemon, I did not know what it was, it just means a process that works in the background without direct user interaction.
Just to really grasp the concepts, follow this guide: