Docker Core Principles 1. Multi-stage builds always — Separate build and runtime stages. Build in the SDK image, run in the ASP.NET runtime image. 2. Non-root by default — .NET container images support by default since .NET 8. Never run as root in production. 3. Layer caching matters — Copy files and restore before copying source code. This caches NuGet dependencies across builds. 4. Health probes at the orchestrator level — Expose a endpoint and let Kubernetes/Compose probe it. Chiseled and default aspnet images have no shell or curl, so in-image commands have nothing to run with. Patterns M…