<aside> <img src="https://prod-files-secure.s3.us-west-2.amazonaws.com/b349e071-aaf1-4d38-b257-9768bba63316/f648d030-589b-4be1-916b-72816239f074/1_KWeXamv1oqIvzKLlPhn-rA.jpg" alt="https://prod-files-secure.s3.us-west-2.amazonaws.com/b349e071-aaf1-4d38-b257-9768bba63316/f648d030-589b-4be1-916b-72816239f074/1_KWeXamv1oqIvzKLlPhn-rA.jpg" width="40px" />
</aside>
Docker is a tool to run apps in small boxes called containers.
.png)

<aside> <img src="https://prod-files-secure.s3.us-west-2.amazonaws.com/b349e071-aaf1-4d38-b257-9768bba63316/46bc2f24-152d-413a-b80d-89110047dd44/1_KWeXamv1oqIvzKLlPhn-rA.jpg" alt="https://prod-files-secure.s3.us-west-2.amazonaws.com/b349e071-aaf1-4d38-b257-9768bba63316/46bc2f24-152d-413a-b80d-89110047dd44/1_KWeXamv1oqIvzKLlPhn-rA.jpg" width="40px" />
</aside>
A Dockerfile is a simple text file with instructions to build a Docker image.
Think of it as a recipe that tells Docker what to include in the image, like:
<aside> <img src="https://prod-files-secure.s3.us-west-2.amazonaws.com/b349e071-aaf1-4d38-b257-9768bba63316/46bc2f24-152d-413a-b80d-89110047dd44/1_KWeXamv1oqIvzKLlPhn-rA.jpg" alt="https://prod-files-secure.s3.us-west-2.amazonaws.com/b349e071-aaf1-4d38-b257-9768bba63316/46bc2f24-152d-413a-b80d-89110047dd44/1_KWeXamv1oqIvzKLlPhn-rA.jpg" width="40px" />
</aside>
A Docker image is like a recipe. It has all the instructions and files needed to create a container.
For example: