When Docker builds an image, it sends all files in the build folder to the Docker daemon. The .dockerignore file tells Docker which files or folders to skip. This helps avoid sending unnecessary files like node_modules or .git. Docker reads .dockerignore first, then checks each file. If a file matches a pattern, it is excluded from the build context. Only included files are sent and can be copied into the image. This makes builds faster and images smaller. For example, if node_modules/ is in .dockerignore, it won't be copied into the image even if the Dockerfile says COPY . /app. The execution table shows each file checked and whether it is included or excluded. The variable tracker shows how the build context changes step by step. Understanding this helps avoid accidentally copying large or sensitive files into images.