Rapide et précis : « déploiement d'application » !
Pour faire très court (et pas très cours) :
Il y a des années, un programme (en stand-alone) se découpait en : binaire, données, configuration et log.
L'objectif de Docker est de mettre cette approche dans des services. Un container contient le binaire, pour le reste, il est préférable d'injecter la configuration, de monter de l'extérieur les répertoires contenant les données (DB généralement) et les logs.
Les commandes exécutées dans le containers doivent tourner au premier plan, si l'application se termine alors le conteneur se terminé (il y a des moyens de lancer des applications en arrière plan avec Supervisord, par exemple). Pour faire tourner un site statique avec Apache, il y aura uniquement les PID d'Apache dans votre containers et rien de plus (dans d'init, pas de Bash, de SSH...)
L'autre avantage de Docker est le versionnage des images disques : chaque commande effectuée dans un container crée une nouvelle image. La création d'un service est donc très rapide car on peut repartir d'une image dont la configuration était adéquate.
Il faut repenser le design de son services dans ce sens, sinon cela reste de la virtuallisation.
« Quand on a un marteau, on voit tout les problèmes comme des clous »
# Souligner APPLICATION et minimiser le mot virtualisation
Posté par CogitIO . En réponse à la dépêche Gérer les containers avec Docker. Évalué à 10.
Rapide et précis : « déploiement d'application » !
Pour faire très court (et pas très cours) :
Il y a des années, un programme (en stand-alone) se découpait en : binaire, données, configuration et log.
L'objectif de Docker est de mettre cette approche dans des services. Un container contient le binaire, pour le reste, il est préférable d'injecter la configuration, de monter de l'extérieur les répertoires contenant les données (DB généralement) et les logs.
Les commandes exécutées dans le containers doivent tourner au premier plan, si l'application se termine alors le conteneur se terminé (il y a des moyens de lancer des applications en arrière plan avec Supervisord, par exemple). Pour faire tourner un site statique avec Apache, il y aura uniquement les PID d'Apache dans votre containers et rien de plus (dans d'init, pas de Bash, de SSH...)
L'autre avantage de Docker est le versionnage des images disques : chaque commande effectuée dans un container crée une nouvelle image. La création d'un service est donc très rapide car on peut repartir d'une image dont la configuration était adéquate.
Il faut repenser le design de son services dans ce sens, sinon cela reste de la virtuallisation.
« Quand on a un marteau, on voit tout les problèmes comme des clous »