-
Notifications
You must be signed in to change notification settings - Fork 12
Executar projeto com docker compose
O Docker é uma plataforma de containers de software, que seriam basicamente uma maneira de se "empacotar" software em um formato que possam ser executados de maneira isolada em relação ao sistema operacional, diferente de máquinas virtuais, que acoplam um sistema operacional completo.
Utilizamos o Docker para eliminar os problemas relacionados ao famoso caso de "funciona na minha máquina", pois sua execução independe do sistema operacional do usuário, garantindo que o sistema vai ser executado de maneira eficiente e da mesma maneira todas as vezes que alguém executá-lo.
O Docker possui um Daemon para gerenciamento de containers. Sua instalação possui uma documentação oficial e pode ser conferida nas páginas:
o docker-compose é o responsável pela junção e orquestramento de vários containers docker no mesmo espaço (há outros melhores, como Kubernetes mas não necessários para o nosso caso.)
Segue a lista de tutoriais de instalação: https://docs.docker.com/compose/install/#install-compose
Foi criado um Makefile para facilitar a execução do projeto. Esse Makefile funciona normalmente no terminal do Linux e do MacOS, no Windows é necessário instalar o WSL para conseguir utilizar esse Makefile.
- build: Utilizado para fazer o build da imagem docker do projeto
- up: Utilizado para iniciar o projeto com as dependências do PostgreSQL e ElasticSearch, além do PGAdmin e Kibana para visualização dos dados salvos no banco
- logs: Utilizado para ver os logs do Amadeus em execução no terminal
- restart: Utilizado para atualizar o Amadeus em execução com o novo código alterado (Apenas para desenvolvimento)
- bash: Utilizado para entrar no container do Amadeus em execução (Apenas para desenvolvimento)
- ps: Utilizado para verificar a saúde dos containers do projeto
- stop-containers: Utilizado para parar todos os containers do Amadeus que estão em execução
- remove-containers: Utilizado para remover todos os containers do Amadeus que foram criados no computador
- stop: Utilizado para parar todos os containers docker em execução no computador, seja eles do Amadeus ou não
Dado que o código do Amadeus já foi baixado no computador, e o docker e o docker compose já estão instalados, é necessário executar apenas os seguintes comandos.
-
make build
: Utilizado para criar a imagem docker do Amadeus -
make up
: Utilizado para iniciar o Amadeus e todas as suas dependências
Caso queira ver os logs gerados pelo Amadeus no terminal, é necessário executar o comando make logs
Para parar a execução do Amadeus no seu computador, execute o comando make stop-containers
Fazendo esses passos, o Amadeus vai está executando na porta 8000, assim só entrar no endereço http://localhost:8000 que o Amadeus vai está online.
Caso queira ver os dados no banco do Amadeus, só entrar no endereço http://localhost:16543, pois este é o endereço que o PQAdmin está executando e onde você consegue entrar no banco de dados do Amadeus.
Para acessar os dados do ElasticSearch, é necessário entrar no Kibana, que está disponível no endereço http://localhost:5601
Depois que o Amadeus já está executando, caso queira fazer alguma alteração no código, é necessário executar o comando make restart
para que esta alteração seja refletida no Amadeus que está em execução