Bonjour tout le monde !
Cela fait plusieurs années que j'utilise Symfony au quotidien donc je commence à bien connaître.
Voulant utiliser la dernière version (la 6.1 qui utilise PHP 8.1) je me suis dis que ça serait l'occasion de me mettre à Docker.
Seulement voilà, je n'arrive pas à trouver une config Docker qui répond à mes critères :
Qu'avez-vous l'habitude de faire ?
Que me conseillez-vous ?
Merci beaucoup
Bonne journée
hello,
j'ai créer une stack docker pour répondre à tes besoins
https://github.com/Theo-W/symfony-template
isox
Hello, alors il y a bien celui la:
https://github.com/dunglas/symfony-docker
C'est le Docker proposé dans la doc officielle de Symfony
Après faut aussi voir si tu veux passer par Apache ou Nginx, si tu veux passer par Nginx tu peux utiliser le docker proposé par Symfo, ou alors si tu n'as pas démarré ton projet tu peux essayer le template du voisin du dessus
Pour du Apache je sais pas, faudra chercher dans https://hub.docker.com/ (perso j'ai rien trouvé ^^') ou alors construire toi même ton docker (FROM php:8.1-{fpm ou apache} tu installes les extensions php tu copies ton projet tu exposes en 80 et en 443 et tu lances apache/nginx)
Sinon dans la doc de Symfony ça explique que tu peux utiliser SymfonyFlex pour configurer automatiquement un docker, perso je connais pas Symfo mais a voir si ça vaut le coup :p
Effectivement au début j'ai utilisé la config de la doc de Symfony.
J'ai récupéré le projet et j'ai tapé le commande
SKELETON=symfony/website-skeleton docker-compose up --build
Mais j'ai une erreur, impossible d'afficher symfony sur le navigateur c'est bizarre
Mmmmh bizarre, perso je préfère avoir la main sur Docker plutot que d'utiliser un repo tout fait, tu peux essayer de faire ton Docker
Pour du NGINX ce sera le repo php:8.1-fpm
et pour Apache php:8.1-apache
Pour être tranquille tu peux mettre USER root
Tu installes des dépendances necessaires à Symfony (curl, zip et unzip c'est surement necessaire, pour le reste faudra voir)
RUN apt update && apt install -y \
curl \
zip \
unzip
Tu installes les extensions PHP requis par Symfo (C'est des extensions requis pous Laravel, regardes ici si il manque des choses https://symfony.com/doc/current/setup.html )
RUN docker-php-ext-configure gd \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-install pdo_mysql \
&& docker-php-ext-install mysqli \
&& docker-php-ext-install zip \
&& docker-php-ext-install pcntl \
&& docker-php-source delete
Tu installes Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN composer install --optimize-autoloader
Tu donnes ton projet à ton serveur web
RUN chown -R www-data:www-data /app && a2enmod rewrite headers
Tu exposes en 80 et en 443
EXPOSE 80
EXPOSE 443
Tu lances apache (ou NGINX, a changer dans ce cas)
CMD ["apache2-foreground"]
Juste avec ça ça devrait fonctionner, tu configures docker-compose.yml pour chopper ton dockerfile et lui attribuer un port et c'est good :)