Construire une image Docker pour Apache / mod_cluster
Il y a quelques jours, j’ai publié un billet pour la mise en place d’un cluster WildFly avec Docker, et j’avais promis des détails sur la préparation des images Docker. Je commencerai par l’image du front-end constitué d’un Apache avec mod_cluster.
L’image est basée sur les composants suivants :
-
Debian Jessie
-
Apache 2.4
-
mod_cluster 1.3
Pourquoi ces choix ?
Debian Jessie
Au moment de la constitution de l’image, Debian Jessie est encore en test, même s’il semble relativement stable. Ce qui m’intéressait le plus dans cette version, c’est son Apache. C’est la première version qui propose par défaut Apache 2.4. L’autre choix aurait été de partir avec Ubuntu, Fedora, ou une autre image de base. Mais je trouve que Debian est un bon compromis taille / facilité d’installation.
Apache 2.4
Il faut vivre avec son temps. Apache 2.2 commence à dater et pas mal de modules sont plus riches sur la version 2.4.
mod_cluster 1.3
C’est le coeur de l’image. Pour mettre en frontal d’un cluster WildFly, j’ai voulu utiliser la version que celle embarquée dans WildFly 8.1.0, c’est-à-dire la version 1.3.0. Le problème, c’est qu’il n’a pas de binaire en téléchargement pour cette version. Je retrouve d’ailleurs des bizarreries dans la politique de distribution, que j’ai déjà vues dans d’autres projets JBoss : il n’y a pas de release systématique des versions, à chacun de se débrouiller. OK, donc on compile mod_cluster.
Image Docker
Il ne restait plus qu’à faire un Dockerfile avec tout ça, et à le pousser sur github. L’image est ajoutée dans le registre central de Docker, sous le nom sewatech/modcluster.
Utiliser la, et n’hésitez pas à me faire des retours et à proposer des améliorations, voire des PR sur le dockerfile.