Inicialização do projeto utilizando Docker.
Clone este repositório na sua máquina local usando https://github.com/CoronaDados/base
Acesse o link e selecione seu SO.
Fácil! Navegue para o diretório em que você clonou o projeto. Execute os seguintes comandos neste diretório:
docker-compose up -d
O comando docker-compose
extrai as imagens do Docker Hub e as víncula com base nas informações contidas no arquivo docker-compose.yml.
Isso criará portas, links entre contêineres e configurará aplicativos conforme necessário.
Após a conclusão do comando, agora podemos visualizar o status dos nossos containers.
Deverá ter quatro containers:
- coronadados-mysql
- coronadados-app
- coronadados-webserver
Nota:
- Na primeira vez em que você executar isso, levará alguns minutos para iniciar, pois será necessário fazer o download das imagens para todos os três serviços.
Precisamos executar a instalação do composer para extrair todas as bibliotecas que compõem o Laravel executando o seguinte comando.
docker run --rm --interactive --tty --volume "$PWD":/app composer --ignore-platform-reqs
Crie o .env com base no .env.example conforme o exemplo abaixo:
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=coronadados
DB_USERNAME=corona_user
DB_PASSWORD=corona_pass
Agora que o .env já está configurado, vamos executar as migrations para criar as tabelas no banco de dados coronadados
docker-compose exec app php artisan key:generate
docker-compose exec app php artisan migrate:install
docker-compose exec app php artisan migrate
docker-compose exec app php artisan db:seed --class=DatabaseSeeder
docker-compose run --rm --no-deps app php artisan cache:clear
docker-compose run --rm --no-deps app chmod -R 777 storage/
docker-compose run --rm --no-deps app composer dump-autoload
Depois de executar os comandos mencionados anteriormente, o aplicativo estará pronto para uso em http://localhost:8000.
MYSQL_DATABASE
- nome do banco de dados (coronadados)MYSQL_USER
,MYSQL_PASSWORD
- Essas variáveis são opcionais, usadas em conjunto para criar um novo usuário e definir a senha do usuário.MYSQL_ROOT_PASSWORD
- Essa variável é obrigatória e específica a senha que será configurada para a conta do superusuário raiz.
- MySQL 5.7
- PHP 7.x
- Laravel 7.0