Ambiente di sviluppo in docker per symfony 2
All'iterno del repository
Mysql -> contiene solo un file di configurazione di default. In quanto l'immagine di docker utilizzata è quella ufficiale che funziona benissimo
Nginx -> Contiene un Dockerfile per la creazione dell'immagine utilizzata basata su quella ufficiale di nginx. Oltre che alla configurazione di default di nginx per abilitare il supporto a phpfpm e uno script di avvio Contiene inoltre un esempio di virtual host di default.
Phpfpm -> Contiene un dockerfile per costruire l'immagine personalizzata di php-fpm -> e un file di configurazione di default.
Utilizzare l'ambiente
Scaricare il repo,
Modificare i file di configurazione in base alle proprie esigenze. Di norma , si avrà bisongo di modificare solamente il file nginx/default.local per adattarlo al proprio virtualhost
Creare le immagini
Per creare le immagini lanciare il comando
$ make all
Questo comando scaricherà tutte le immagini necessaria all'ambiente e compilerà i dockerfile inseriti.
Usare l'abiente
Ora che si hanno tutte le immagini compilate,
Installare docker compose .
nella directory del proprio progetto creare un file docker-compose.yml ( o modificare quello fornito nel repo)
Nota , spiegazione sugli shared!
E' possibile costruire la propria immagine al posto di usare quella di default, e facendo un build da qui ! :D (Spiegazione su come costruire un secondo virtualhost aggiungendo i build .)
launch docker-compose up into project directory.
A questo punto , per poter utilizzare gli shared directory per logs e cache si puo' modificare il file appKernel.php che se in ambiente dev puo' restituire public function getCacheDir() { return '/var/symfony/cache/'.$this->environment; }
public function getLogDir()
{
return '/var/symfony/logs';
}
Scaricare una versione di symfony all'interno della propria cartella Sites
docker run -ti --rm -v $(pwd):/var/www atamos/php-fpm:2 /usr/local/bin/composer update
or add alias
alias composer="docker run -ti --rm -v
check if alias works well
type composer
install symfony on
composer create-project symfony/framework-standard-edition progetto '2.6.*'
o clonare un repo esistente
umount /Users mount -t vboxsf -o uid=33,gid=33 Users /Users