Dans ce nouveau tutoriel dédié à Docker et docker-compose, je vais vous expliquer comment construire une image personnalisé pour une conteneur depuis un stack de service que l’on a créé avec docker-compose
Comme exemple, on va partir de l’image Openlitespeed sur laquelle on souhaite ajouter l’extension LDAP pour PHP.
Voici le fichier docker-compose.yml de départ :
On va maintenant personnaliser l’image Openlitespeed pour ajouter l’extension LDAP au niveau de PHP.
Dans le répertoire où se trouve le fichier docker-compose.yml
, créer un nouveau dossier que l’on va appeler custom
.
Dans le répertoire custom
, créer un fichier nommer Dockerfile
.
Ajouter le contenu ci-dessous, pour personnaliser l’image :
Ici, on part de l’image de base openlitespeed 1.7.16 avec LSPHP 7.4 et on ajoute le paquet lsphp74-ldap qui permet d’avoir l’extension LDAP dans PHP.
Il faut maintenant éditer le fichier docker-compose.yml, pour indiquer quel fichier utiliser pour construire la nouvelle image et aussi indiquer un nom à notre image.
Voici le fichier docker-compose.yml avec les modifications :
Ligne 19 : il faut personnaliser le nom de l’image, celui-ci sera utiliser lors du build de l’image
Ligne 20 : indiquer l’emplacement du fichier Dockerfile, qui va permettre de construire l’image.
Il faut maintenant construire l’image avec la commande suivante :
sudo docker-compose build
Une fois terminée, il est possible de vérfifier que l’image est présente à l’aide de la commande ci-après :
sudo docker image list
Vous avez construit une image personnalisé depuis un fichier docker-compose.
Il ne vous reste plus qu’à démarrer normalement vos conteneurs :
sudo docker-compose up -d
Vous savez maintenant comment personnaliser / construire une image personnalisée avec docker-compose.
En complément, si vous débutez avec Docker, je vous invite à lire ce cours : https://learn.rdr-it.com/Le%C3%A7on/utiliser-docker-pour-deployer-un-serveur-web/ qui va vous permettre de comprendre la construction de l’image.