Docker, permet d'utiliser des images d'os embarquant différentes applications. Une fois déployé on parle ainsi de container. Un container est un système d'exploitation dans sa forme la plus légère (il n'y a en effet aucun utilitaire d'installé par défaut). L'utilisation de docker permet notamment de déployer des applications de manière plus agile. Plus besoin de chercher à installer différentes dépendances sur votre système d'exploitation, l'image docker embarque tout. Plus besoin de se prendre la tête entre différentes dépendances incompatible sur un même système, les containers sont complètements indépendant les uns des autres.
Imaginons un serveur qui doit embarquer différentes applications. Imaginons, un site internet, ainsi qu'une application de stockage, une application de gestion de package, ect... Dans l'optique d'une utilisation image/container, vous aurez simplement une commande à lancer pour déployer chaque applications. Chacune des applications pourra être mapper sur différents ports du système, et fonctionnera de manière autonome. En outre, il est assez facile d'éteindre ou d'administrer une application sans impacté tout le système. Dans l'hypothèse ou je me fais "pirater" une application, le pirate n'atteindra pas ma couche système mais restera cloisonné dans le container.
Personnellement, j'utilise quelques images dans mon quotidien personnel: