An init container runs before the main application containers. Kubernetes waits for successful completion before moving to the next init container or starting the application. Use it for finite preparation that must finish, rather than a background service that should remain alongside the application. Shared volumes can carry prepared data across that boundary. A failed init command blocks application startup and appears in diagnostic status. These tasks add a deterministic fictional preparation command and connect the same working volume to the web process. The check distinguishes a successful initialization from a manifest that omits it or keeps retrying a command that exits with an error.