Este projeto utiliza Docker para simplificar o gerenciamento de containers e serviços do ambiente de desenvolvimento laravel utilizando MYSQL, PHPMYADMIN e NGINX. Este README fornece instruções sobre como usar os comandos disponíveis e os pré-requisitos necessários para executar o projeto.
Antes de começar, certifique-se de ter os seguintes pré-requisitos instalados em sua máquina:
- Docker: Ferramenta de containerização. Instalação do Docker
- Docker Compose: Ferramenta para definir e executar aplicativos Docker multi-containers. Instalação do Docker Compose sudo - Make: Ferramenta para simplificar execução de multi-comandos, para obter em sua máquina:
sudo sudo apt-get install make- Clone o repositório na pasta raíz do seu projeto:
git clone https://github.com/raulntjj/docker-development-environment
cd docker-development-environment
mv * ../
cd ..
rm -r docker-development-environment --forceAo executar este bloco de comando os arquivos de configuração estarão em seus devidos locais para que funcione corretamente.
- Configure o .env.docker se necessário, está no diretório "docker" (Opcional):
# Por padrão:
NGINX_PORT=8989
MYADMIN_PORT=8888
DB_PORT=3307
DB_NAME=sys
DB_PASS=root- Defina uma .env.example (Se não possuir), e verifique as credênciais do banco (OBRIGATÓRIO POSSUIR UMA .env.example):
# Configure conforme o que você colocou no .env.docker, caso não tenha alterado,
# deve estar desta forma
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=sys
DB_USERNAME=root
DB_PASSWORD=root- Contrua os containers, para isso utilize::
sudo make buildAo realizar estes passos, seu ambiente estará configurado e instalado, com phpMyAdmin na porta 8888, nginx na porta 8989, e com mysql na porta 3306.
sudo make build- Descrição: Executa o script build.sh, inicia os containers em segundo plano e executa o script entrypoint.sh.
- Uso: Ideal para a configuração inicial do ambiente e para construir e iniciar todos os serviços necessários.
sudo make kill- Descrição: Para e remove os containers e executa uma limpeza do sistema Docker.
- Uso: Use para parar e remover todos os containers e limpar o sistema.
sudo make start- Descrição: Inicia os containers em segundo plano.
- Uso: Use para iniciar os containers que estão parados.
sudo make stop- Descrição: Para todos os containers.
- Uso: Use para parar todos os containers em execução.
sudo make restart- Descrição: Reinicia todos os containers.
- Uso: Use para reiniciar todos os containers em execução.
sudo make logs- Descrição: Mostra os logs dos containers em tempo real.
- Uso: Use para monitorar a saída dos logs dos containers.
sudo make shell- Descrição: Acessa o shell interativo do container app.
- Uso: Use para realizar manutenção ou diagnósticos diretamente no container app.
sudo make queue-shell- Descrição: Acessa o shell interativo do container queue.
- Uso: Use para realizar manutenção ou diagnósticos diretamente no container queue.
sudo make test- Descrição: Executa os testes definidos no projeto Laravel.
- Uso: Use para rodar os testes automatizados da aplicação.
sudo make migrate- Descrição: Executa as migrações do banco de dados.
- Uso: Use para aplicar alterações na estrutura do banco de dados.
sudo make install- Descrição: Instala as dependências do Composer e gera a chave da aplicação.
- Uso: Use para instalar todas as dependências e configurar a chave da aplicação.
sudo make update- Descrição: Atualiza as dependências do Composer.
- Uso: Use para atualizar as dependências para suas versões mais recentes.
sudo make clean- Descrição: Remove volumes e imagens Docker órfãs que não estão mais em uso.
- Uso: Use para liberar espaço no disco removendo dados não utilizados.
sudo make down- Descrição: Derruba todos os containers e redes associadas.
- Uso: Use para parar e remover os containers, mas mantendo volumes e redes persistentes.
sudo make up- Descrição: Inicia todos os containers em segundo plano.
- Uso: Use para subir os containers em modo detach.
sudo make reset- Descrição: Derruba e remove volumes e redes associadas, além de realizar uma limpeza completa.
- Uso: Use para uma limpeza completa e reinicialização do ambiente.
Se você deseja contribuir para este projeto, por favor, siga estas diretrizes:
Faça um fork do repositório.
Crie uma nova branch para sua feature ou correção.
Faça suas alterações e teste-as.
Envie um pull request com uma descrição clara das mudanças.