J'essaie de mettre en place un environnement pour Laravel, et dans ce processus, je veux changer mon Root de documents en un dossier public. J'ai fait en sorte que cela fonctionne dans un Dockerfile, mais en réalité, je préférerais que ce soit dans un fichier docker-compose.yml.
J'ai le sentiment d'avoir implémenté les commandes d'environnement requises de leur documentation
Mon code est le suivant
docker-compose.yml :
version: '3'
services:
laravel:
image: php:7.1-apache
ports:
- 8080:80
env_file: ./.env
environment:
- "APACHE_DOCUMENT_ROOT=/var/www/html/public"
- "sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf"
- "sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf"
volumes:
- ./src/:/var/www/html/
.env
APACHE_DOCUMENT_ROOT=/var/www/html/public
J'ai d'abord essayé sans le fichier .env, mais j'ai obtenu une erreur indiquant que la variable APACHE_DOCUMENT_ROOT n'était pas définie. C'est pourquoi j'ai le fichier .env externe.
Quelqu'un peut-il m'indiquer comment améliorer ce yml, afin que je dispose d'un document Root différent pour mon Apache ?
Merci d'avance.