Le principe est de disposer d'un docker clef en main pour la construction d'un serveur web http(s) / php.
Le principe détaillé d'une installation manuelle sur le Blog de Guillaume (source en pdf ).
Le repository docker : richarvey/nginx-php-fpm
Modèle d'installation pour une base Nginx + PHP :
docker run -d --restart=always --name="Nginx_WWW" \ -p 80:80 \ -e "PUID=`id -u $USER`" -e "PGID=`id -g $USER`" -v /mnt/Raid/Documents_de_Florian/Documents_NAS/Dockers/Docker_Data/Nginx_WWW/:/var/www/html \ richarvey/nginx-php-fpm
Ou en compose :
version: "3" services: Nginx_Dokuwiki: container_name: Nginx_Interne image: richarvey/nginx-php-fpm ports: - "80:80/tcp" restart: always environment: - PUID=1000 - PGID=1000 volumes: - /mnt/Raid/Documents_de_Florian/Documents_NAS/Dockers/Docker_Data/Nginx_Interne/:/var/www/html
L'objectif est d'avoir la main sur le fichier de configuration Nginx suivant : /etc/nginx/sites-available/default.conf
Il faut passer par les fonctionnalités git proposées par ce docker.
Suivre la doc : https://gitlab.com/ric_harvey/nginx-php-fpm
/repos_root/conf/nginx/nginx-site.conf
)Pour ma part je fais le choix de ne stocker que la conf dans Git et pas le “code html”. Du coup je propose un autre répertoire à Nginx monté comme volume avec l'option -v de docker. Peut être que je ferai le choix plus tard de mettre tout sous git pour finalement assurer de la sauvegarde/versionning .. In fine cela donne pour moi un truc du genre :
docker run -d --restart=always --name="Nginx_Dokuwiki" -p 8081:80 -v /mnt/Raid/Documents_de_Florian/Documents_NAS/Dockers/Docker_Data/Nginx_Dokuwiki/:/var/www/public -e "PUID=`id -u $USER`" -e "PGID=`id -g $USER`" -e 'GIT_EMAIL=florian.tales@laposte.net' -e 'GIT_NAME=floriantales' -e 'GIT_USERNAME=floriantales' -e 'GIT_REPO=github.com/floriantales/Nginx_Dokuwiki' -e 'GIT_PERSONAL_TOKEN=************************************' richarvey/nginx-php-fpm:latest
Ne pas oublier d'ajuster la conf Nginx :
[...] root /var/www/public; [...]
Pour mettre à jour la conf Nginx : commiter sur Github et faire un pull sur son docker via :
docker exec -t -i <CONTAINER_NAME> /usr/bin/pull & docker restart <CONTAINER_NAME>
Base NGinx et PHP FPM utilisée pour le Dokuwiki ou Cheky et mon cv en ligne.