Utiliser docker pour le développement web

Dans ma vie de développeur j’ai connu 2 révolutions qui ont changé ma façon de développer :

  • En 2000, Le développement sous Linux
  • En 2012, la découverte de Symfony

Avec docker je vais ajouter une 3eme ligne à cette liste.

Voici quelques avantages d’utiliser docker (pour l’utilisation que j’en ai) :

  • Tester votre site dans plusieurs version de php, apache, mysql, …. et tout ça en ne changeant que le port du http
  • Plus besoin d’installer php/apache/mysql en local sur votre poste, vous avez toujours un poste propre
  • Des tonnes d’images disponibles sur le net (par exemple voir plus bas, maildev)
  • Vous êtes sûrs que votre stack est dans la même version que celle de vos collègues et/ou la prod

J’ai mis à dispo ma stack sur mon github :

https://github.com/gponty/docker-mysql-apache-php

Il est fait pour mes besoins personnels donc très spécifiques, c’est à dire :

  • Utilisation des dernières versions de PHP 7.1 et 7.2
  • Utilisation d’apache
  • Utilisation de mysql
  • Utilisation de maildev qui permet de rediriger tous les envois smtp vers une boite locale (un must-have)
  • Installation des drivers PHP pour sql server
  • Installation de wkhtml2pdf
  • Installation de phploy (déploiement du code sur un serveur)
  • Installation de composer
  • Installation de Xdebug

Toutes ces commandes se trouvent dans le fichier Dockerfile qui se trouve dans les répertoires PHP (pour une raison x j’avais besoin de 2 fichiers, mais je pense que je pourrai en regrouper une grosse partie dans 1 seul fichier et ainsi éviter la duplication de code) Même si ça peut paraître compliqué, pris ligne à ligne c’est assez simple à comprendre.

Si vous n’avez pas encore passé le cap, je vous recommande donc chaudement d’essayer docker, ça demande un petit investissement afin de bien comprendre comment cela fonctionne, mais au final ça vous fera gagner du temps très précieux.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.