Start here. This is the direct spoken answer to practice first.
Why this question matters
A tag is a movable label while a digest identifies exact image content. Running services do not receive a base-image fix until a new application image is built and deployed.
I publish each successful build with an immutable version or commit tag and record its digest. Environments promote the same image digest rather than rebuilding from source with environment-specific differences. Human-friendly release tags can point to that digest, but production deployment records the immutable identity. When the base image is patched, the pipeline rebuilds, scans, tests, and rolls out a new application image.