Admin Système

Docker : Starter kit : Template Nginx et PHP-7 FPM / Mysql

docker-facebook

Cet article met à votre disposition un starter kit PHP/FPM/Nginx/MYSQL dans Docker (Application de virtualisation via la gestion de conteneur). Cet starter kit à pour objectif de vous permettre de vous lancer très rapidement avec une configuration qui fonctionne pour vos projets.

Ce ‘starter kit’ docker permet d’initialiser très rapidement un environnement LAMP.

Il comprend :

  • Nginx
  • Php 7 FPM
  • MySQL
  • Phpmyadmin
  • Redis

Pour débuter vous devez avoir Docker et Docker-compose qui fonctionnent sur votre machine :

Si ce n’est pas le cas, je vous invite à suivre les procédures suivantes :

Pour vérifier que vos installations sont ok, tapez docker-compose et vérifiez que l’application répond. Vous devriez obtenir quelque chose qui ressemble à ça :

docker-compose

Une fois ces installations fonctionnelles, vous pouvez faire un checkout du starter kit.

Installation:

Ok, tout fonctionne, donc checkout :

Le kit de dev est donc sur votre poste… simple, non ?

Vous pouvez alors le lancer via la commande :

La commande va télécharger les images, puis faire les configurations utiles.

Elle devrait se terminer par :

docker-start

Voila, tout fonctionne, si vous pointez sur local.dev (pensez à l’ajouter dans votre fichier host avant), vous devriez voir apparaitre une page avec un message de test.

Pour stopper le kit de dev… très simple :

docker-stop

Attention : Ne pas confondre « docker-compose stop » et « docker-compose down ».

Le second stop bien vos conteneurs, mais il va également les détruire… Vi… c’est toujours agaçant comme erreur 🙂

docker-down

Comment fonctionne ce kit de dev ?

1/ Nginx :

  • Nginx va positionner ses logs dans le sous dossier logs/nginx du kit.
  • Les sources se trouvent dans www/
  • La configuration est modifiable dans config/nginx/ (vous pouvez y modifier le vhost)
Enfin, Nginx ecoute sur le port 80.

2/ PHP Fpm

  • PHP dispose d’une référence au container mysql par l’alias : webstack_mysql
  • PHP référence aussi le serveur REDIS via l’alias : webstack_redis
  • Vous pouvez surcharger la configuration dans config/php
  • Le dossier de log est à modifier suivant l’endroit ou votre application va loguer.

3/ MySQL & PHPMyAdmin

  • Vous pouvez surcharger la configuration de Mysql dans ‘config/mysql/’
  • Les fichiers de données se trouvent dans ‘data/mysql’. Il est important de sortir ces fichier du container, pour ne pas perdre vos données en cas de re-construction du container.
  • PHPMyAdmin dispose du mot de passe ‘root’ pour le compte ‘root’. (oui, pas secure… mais en dev :-))
  • Enfin, PHPMyAdmin ecoute sur ‘local.dev:8080’
ATTENTION :

Il est possible que vous obteniez l’erreur :

Cette erreur vient du montage du dossier de base vers la machine hôte. Je n’ai pas encore trouvé la correction, qui risque de vous obliger à supprimer la ligne suivante pour conserver dans le conteneur les fichiers de données de MySQL.

Vous pouvez vous connecter au container PHP si besoin (pour lancer une ligne de commande) :

Dans notre cas le container se nomme :

docker-ps

donc dans notre cas :

Voila, vous devriez avoir tout en main pour travailler.

Ah si… le lien vers mon compte github :

https://github.com/tellaw/template-docker

Bon courage 🙂

 

About the author

Eric Wallet

Add Comment

Click here to post a comment

Votre adresse de messagerie ne sera pas publiée.