Utiliser Symfony dans Docker
Fichier Dockerfile
FROM php:7.4-fpm-alpine # Apk install RUN apk --no-cache update && apk --no-cache add bash git # Install pdo RUN docker-php-ext-install pdo_mysql # Install composer RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && php composer-setup.php && php -r "unlink('composer-setup.php');" && mv composer.phar /usr/local/bin/composer # Symfony CLI RUN wget https://get.symfony.com/cli/installer -O - | bash && mv /root/.symfony/bin/symfony /usr/local/bin/symfony WORKDIR /var/www/html
- Informations sur Linux Alpine
- Alpine Linux package management : apk
Fichier docker-compose.yml
version: '3.3' services: php-fpm: build: ./ ports: - 5000:8000 volumes: - ./:/var/www/html mysql: image: mysql command: --default-authentication-plugin=mysql_native_password restart: always environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: test phpmyadmin: depends_on: - mysql image: phpmyadmin/phpmyadmin restart: always ports: - '8080:80' environment: PMA_HOST: mysql
Monter l’image
docker-compose up -d
docker ps
docker exec -ti id-image-symfony5_php-fpm bash
Télécharger Symfony
Dans l’image Docker, via le bash :
clear && ls
git config --global user.email "your@email.fr"
git config --global user.name "your name"
symfony new mon_projet --full
# https://symfony.com/doc/current/setup.html
Lancer le serveur interne de Symfony
Dans l’image Docker, via le bash :
cd mon_projet
symfony server:start
Connexion Symfony – MySQL : fichier .env
DATABASE_URL=mysql://root:root@mysql:3306/test?serverVersion=5.7
phpMyAdmin
Pour accéder à phpMyAdmin :
- url : http://192.168.99.100:8080/
- login : root
- mot de passe : root
Page d’accueil projet Symfony
Pour accéder au projet Symfony :
- url : http://192.168.99.100:5000
Quelques commandes Symfony
- php bin/console make:entity
- php bin/console make:migration
- php bin/console doctrine:migrations:migrate
Stopper l’image
docker-compose down