Merge branch 'docker_config'
This commit is contained in:
commit
15ca4a0cf5
95
README.md
95
README.md
@ -1,56 +1,19 @@
|
||||
Docker environment for a Symfony5 project
|
||||
Environnement de développement Docker pour démarrer un nouveau projet Symfony5
|
||||
==================================
|
||||
|
||||
# Présentation (français)
|
||||
# Présentation
|
||||
|
||||
Ce repository propose une configuration qui permet de démarrer très simplement un nouveau projet Symfony dans des conteneurs docker. Cette configuration doit encore être améliorée, mais déjà, en suivant pas à pas les instructions à partir du chapitre "My installation", on peut démarrer en quelques minutes un nouveau projet.
|
||||
L'objectif de ce dépôt est de proposer et de faire évoluer une configuration de départ pour démarrer très simplement un nouveau projet Symfony dans des conteneurs Docker.
|
||||
|
||||
En suivant pas-à-pas les instructions à partir du chapitre "Installation", on peut démarrer en quelques minutes un nouveau projet.
|
||||
|
||||
Le dépôt utilise plusieurs branches qui peuvent être utilisée selon le point de départ recherché:
|
||||
1. la branche `docker_config` fournit juste le docker-compose.yml et les Dockerfile qui permettent de construire les conteneurs ;
|
||||
2. la branche `master` fournit la structure de départ du projet Symfony ;
|
||||
3. la branche `with_vujs` permet de démarrer le projet en complémentarité du framework Javascript VueJS ;
|
||||
|
||||
|
||||
# Add to your project
|
||||
|
||||
Move the `docker-compose.yml` and the folder named `docker_build` containing nginx and php-fpm config for it to the root of your Symfony project.
|
||||
|
||||
Ensure the webserver config on `docker\nginx.conf` is correct for your project. For instance, for Symfony 4 or 5 it should look for the `public/index.php`, instead of the `web/app.php` from Symfony2 and Symfony3
|
||||
|
||||
Note: you may place the files elsewhere in your project. Make sure you modify the locations for the php-fpm dockerfile, the php.ini overrides and nginx config on `docker-compose.yml` if you do so.
|
||||
|
||||
# How to run
|
||||
|
||||
Dependencies:
|
||||
|
||||
* Docker engine v1.13 or higher. Your OS provided package might be a little old, if you encounter problems, do upgrade. See [https://docs.docker.com/engine/installation](https://docs.docker.com/engine/installation)
|
||||
* Docker compose v1.12 or higher. See [docs.docker.com/compose/install](https://docs.docker.com/compose/install/)
|
||||
|
||||
Once you're done, simply `cd` to your project and run `docker-compose up -d`. This will initialise and start all the containers, then leave them running in the background.
|
||||
|
||||
# Docker compose cheatsheet
|
||||
|
||||
**Note:** you need to cd first to where your docker-compose.yml file lives.
|
||||
|
||||
* Start containers in the background: `docker-compose up -d`
|
||||
* Start containers on the foreground: `docker-compose up`. You will see a stream of logs for every container running.
|
||||
* Stop containers: `docker-compose stop`
|
||||
* Kill containers: `docker-compose kill`
|
||||
* View container logs: `docker-compose logs`
|
||||
* Execute command inside of container: `docker-compose exec SERVICE_NAME COMMAND` where `COMMAND` is whatever you want to run. Examples:
|
||||
* Shell into the PHP container, `docker-compose exec --user 1000 php bash`
|
||||
* Run symfony console, `docker-compose exec --user 1000 php bin/console`
|
||||
* Open a postgresql shell, `docker-compose exec --user postgres db psql`
|
||||
* or if user is not postgres: `docker-compose exec db psql --user admin postgres`
|
||||
|
||||
# Docker general cheatsheet
|
||||
|
||||
**Note:** these are global commands and you can run them from anywhere.
|
||||
|
||||
* To clear containers: `docker rm -f $(docker ps -a -q)`
|
||||
* To clear images: `docker rmi -f $(docker images -a -q)`
|
||||
* To clear volumes: `docker volume rm $(docker volume ls -q)`
|
||||
* To clear networks: `docker network rm $(docker network ls | tail -n+2 | awk '{if($2 !~ /bridge|none|host/){ print $1 }}')`
|
||||
|
||||
Disclaimer: This project has been generated on phpdocker.io
|
||||
|
||||
|
||||
# My installation
|
||||
# Installation
|
||||
|
||||
* Build containers: `docker-compose build`
|
||||
* Run containers: `docker-compose up -d`
|
||||
@ -80,9 +43,9 @@ Disclaimer: This project has been generated on phpdocker.io
|
||||
* Test psql connection: `psql --host db --user postgres --password postgres`
|
||||
* Create database schema: `bin/console doctrine:schema:create`
|
||||
|
||||
## Let's go !
|
||||
## C'est parti !
|
||||
|
||||
* Let's create first object:
|
||||
* Créons un premier objet:
|
||||
* Create entity: `bin/console make:entity Beer`
|
||||
* Create CRUD on entity: `bin/console make:crud Beer`
|
||||
* See sql: `bin/console doctrine:schema:update --dump-sql`
|
||||
@ -91,6 +54,7 @@ Disclaimer: This project has been generated on phpdocker.io
|
||||
* See migration file: `cat migrations/Version20210218160541.php `
|
||||
* Migrate: `bin/console doctrine:migrations:migrate`
|
||||
* Control migrations: `bin/console doctrine:migrations:status`
|
||||
* ...
|
||||
|
||||
## Yarn
|
||||
|
||||
@ -101,8 +65,37 @@ Disclaimer: This project has been generated on phpdocker.io
|
||||
* `npm install yarn`
|
||||
* `npm install --force`
|
||||
* puis je lance (ce qu'il faudra faire à chaque fois):
|
||||
* `yarn encore dev-server`
|
||||
* `yarn encore dev`
|
||||
|
||||
## Sass
|
||||
|
||||
* dans le container node, installation de sass: `npm install sass-loader@^11.0.0 sass --save-dev`
|
||||
|
||||
|
||||
---
|
||||
|
||||
# Docker compose cheatsheet
|
||||
|
||||
**Note:** you need to cd first to where your docker-compose.yml file lives.
|
||||
|
||||
* Start containers in the background: `docker-compose up -d`
|
||||
* Start containers on the foreground: `docker-compose up`. You will see a stream of logs for every container running.
|
||||
* Stop containers: `docker-compose stop`
|
||||
* Kill containers: `docker-compose kill`
|
||||
* View container logs: `docker-compose logs`
|
||||
* Execute command inside of container: `docker-compose exec SERVICE_NAME COMMAND` where `COMMAND` is whatever you want to run. Examples:
|
||||
* Shell into the PHP container, `docker-compose exec --user 1000 php bash`
|
||||
* Run symfony console, `docker-compose exec --user 1000 php bin/console`
|
||||
* Open a postgresql shell, `docker-compose exec --user postgres db psql`
|
||||
* or if user is not postgres: `docker-compose exec db psql --user admin postgres`
|
||||
|
||||
# Docker general cheatsheet
|
||||
|
||||
**Note:** these are global commands and you can run them from anywhere.
|
||||
|
||||
* To clear containers: `docker rm -f $(docker ps -a -q)`
|
||||
* To clear images: `docker rmi -f $(docker images -a -q)`
|
||||
* To clear volumes: `docker volume rm $(docker volume ls -q)`
|
||||
* To clear networks: `docker network rm $(docker network ls | tail -n+2 | awk '{if($2 !~ /bridge|none|host/){ print $1 }}')`
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user