version 2
app | ||
docker_build | ||
.gitignore | ||
docker-compose.yml | ||
docker-node.sh | ||
README.md |
Environnement de développement Docker pour démarrer un nouveau projet Symfony5
En partant de la branche 5_start_new-project
Le projet, symfony et ses dépendances sont prêt à être installé.
$ docker-compose build
$ docker-compose up -d
$ docker-compose exec -u 1000 php bash
dans le conteneur php :
$ composer install
$ bin/console doctrine:schema:create
et pour node :
$ bash docker-node.sh yarn install --force
$ bash docker-node.sh yarn encore dev-server
Voilà, le site est disponible sur http://localhost:8000
En partant de la branche 1_docker_ready
1. Se mettre sur la bonne branche
$ git co -b 1_docker_ready origin/1_docker_ready
2. Construire les images et les conteneurs
$ docker-compose build
$ docker-compose up
.. 221001_test3_db_1 exited with code 1
3. Parce que 'db' ne se lance pas:
$ docker-compose rm db
$ sudo rm -rf ./data
$ docker-compose up db
4. Entrer dans le conteneur php
$ docker-compose exec -u 1000 php bash
5. Créer le projet
$ symfony new project
$ mv project/* . && mv project/.* . && rmdir project
6. Charger les dépendances de composer
$ composer require doctrine/annotations twig/twig doctrine/orm symfony/orm-pack symfony/form symfony/maker-bundle symfony/security-csrf
7. Connexion à postgresql
modifier DATABASE_URL dans app/.env :
+++ DATABASE_URL="postgresql://postgres:secret@db:5432/postgres?serverVersion=12&charset=utf8"
et dans le conteneur php :
$ bin/console doctrine:schema:create
8. Chargement de dépendances, la suite
$ composer require symfony/yaml symfony/twig-bridge symfony/validator
$ composer require symfony/asset symfony/expression-language symfony/security-http symfony/translation symfony/web-link egulias/email-validator symfony/expression-language symfony/intl symfony/translation
$ composer require --dev symfony/profiler-pack symfony/debug-bundle symfony/var-dumper
9. Installer node et yarn
$ composer require symfony/webpack-encore-bundle
mettre en place le script qui lance docker node, le lancer pour entrer dans le conteneur node:
$ yarn install --force
$ yarn add sass sass-loader
$ yarn encore dev-server
10. C'est installé !
le site est disponible sur http://localhost:8000