Introduction
When you build software, you want to save the exact version of your app so you can use it later. Docker images let you package your app and its environment together. Storing these images as artifacts means you keep a safe copy to use in testing or production.
When you want to save a tested version of your app to deploy later without rebuilding.
When you need to share your app image between different teams or environments.
When you want to keep track of app versions for rollback if something goes wrong.
When you want to automate your build and deployment process using Jenkins pipelines.
When you want to reduce build time by reusing existing Docker images.