Configurando o Docker para rodar o Laravel, MySQL e PHPMyAdmin de forma rápida e fácil.
Configurando o Docker para rodar o Laravel, MySQL e PHPMyAdmin de forma rápida e fácil. | ||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||
Toda configuração abaixo foi feita no Linux, também serve para MacOS e Windows. | ||||||||||||||||||||||||||||
Pastas | ||||||||||||||||||||||||||||
A configuração de pastas ficará da seguinte forma (sem o laravel instalado): | ||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||
Docker Compose | ||||||||||||||||||||||||||||
Vamos criar o docker-compose.yml. | ||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||
Explicando um pouco da configuração acima. | ||||||||||||||||||||||||||||
Serviço DB | ||||||||||||||||||||||||||||
Temos um serviço chamado: db, nele temos a imagem do MySQL, com as variáveis de ambiente como nome do banco, usuário, password e password root. | ||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||
O MySQL está exposto na porta 3306 externamente e internamente (dentro do container), você poderá usar um Gerenciador de Banco de Dados para administrar o banco, caso não queira utilizar o PHPMyAdmin. | ||||||||||||||||||||||||||||
Na parte de Volumes do Serviço db, temos uma pasta local chamada: my-db onde esta, estará associada a pasta: /var/lib/mysql dentro do container. | ||||||||||||||||||||||||||||
Serviço App | ||||||||||||||||||||||||||||
No Serviço app, temos a imagem do PHPMyAdmin, que depende do serviço db. Esse serviço estará exposto na porta 13306 e associado a porta 80 do container. | ||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||
Este serviço conta com uma única variável de ambiente e adicionei também um volume para alterar a configuração do tamanho de upload de arquivos, para caso necessite fazer upload de arquivos grandes pelo PHPMyAdmin. | ||||||||||||||||||||||||||||
E por fim temos o Volume, que nada mais é o nome do volume: my-db: | ||||||||||||||||||||||||||||
O arquivo upload.ini contém a seguinte configuração. | ||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||
up.sh | ||||||||||||||||||||||||||||
Este arquivo será responsável por derrubar todos os containers do Docker ativos e iniciar o php artisan serve. | ||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||
down.sh | ||||||||||||||||||||||||||||
Este arquivo é responsável por derruba a aplicação Docker. | ||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||
Rode o comando chmod +x up.sh e posteriormente chmod +x down.sh | ||||||||||||||||||||||||||||
Feito isso você poderá rodar o up.sh ou down.sh no terminal e ver a mágica acontecer. | ||||||||||||||||||||||||||||
Por fim, para instalar o Laravel: | ||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||
Não esqueça criar o .env do laravel a partir do .env.example com as informações atualizadas do banco de dados. |