Init containers are containers that run once during the startup process of a pod. A pod can have any number of init containers, and they will each run once (in order) to completion.

Init Container 1 ->

Init containers run to completion before the next init container or app containers start.

Init Container 2 ->

You can have any number of init containers, and each will run in order.

App Containers:

App containers will start up only once all init containers have completed.

You can use init containers to perform a variety of startup tasks. They can contain and use software and setup scripts that are not needed by your main containers. They are often useful in keeping your main containers lighter and more secure by offloading startup tasks to a separate container.

Use Cases for Init Containers: