Ambiente de desenvolvimento Docker com Apache + PHP 7.3 com as extensões aos SGBDs MySQL, PostgreSQL, Oracle, demais módulos usuais e o gerenciador composer
Pré-requisitos: Ter o Docker e Docker-compose instalados.
Instalando Docker no Windows 10
Instalando Docker e Docker-compose no Linux (qualquer distro)
Após ter instalado o Docker e Docker-compose, segue os procedimentos:
-
Fork do repositório
-
Clonar o repositório forkado
-
Acessar o diretório onde salvou o clone do repositório
-
Para iniciar com container MySQL Execute
docker-compose up -d apache2-php7.3 app_mysql
Para iniciar com container PostgreSQL Execute
docker-compose up -d apache2-php7.3 app_pgsql
-
Adicione no arquivo hosts
Windows: C:\Windows\System32\drivers\etc\hosts
Linux: /etc/hosts
127.0.0.1 app.local
127.0.0.1 app2.local
-
Acessar o container PHP para instalar o Laravel Framework
docker exec -it apache2-php7.3 bash
Dentro do container PHP, acessar no diretório /var/www/html/app e execute
rm .gitignore
composer create-project --prefer-dist laravel/laravel .
-
No browser acesse http://app.local
-
Esse ambiente de desenvolvido inclui 2 Vhosts no Apache de exemplo para 2 projetos, mas pode ter N vhosts, basta reutilizar o arquivo vhost.conf para o novo arquivo, alterando o server_name e adicionar no Dockerfile do PHP. Lembrar de adicionar no arquivo hosts para cada Vhost do projeto.
-
No Linux para ter permissão no volume src/app e src/app2, acessa até o diretório do ambiente e execute:
sudo chown -R $(whoami):$(whoami) src/app
sudo chown -R $(whoami):$(whoami) src/app2
-
No Laravel Framework precisa ajustar as permissões do diretório storage dentro do container PHP e editar o src/app/.env em APP_NAME= para app.local que nesse caso é o ServerName definido no Vhost. Para os demais Vhosts que houver também.
docker exec -it apache2-php7.3 bash
chown -R www-data:www-data app/storage
Feito!