Skip to content

Executar projeto com docker compose

jailson-dias edited this page Oct 23, 2020 · 1 revision

1. Docker

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.

1.1 Instalação do Docker:

O Docker possui um Daemon para gerenciamento de containers. Sua instalação possui uma documentação oficial e pode ser conferida nas páginas:

Instalando Docker no Windows

Instalando Docker no Mac OSX

Instalando Docker no Ubuntu

1.2 Instalar Docker-compose

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

2. Executar o projeto

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.

2.1 Comandos do Makefile

  1. build: Utilizado para fazer o build da imagem docker do projeto
  2. 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
  3. logs: Utilizado para ver os logs do Amadeus em execução no terminal
  4. restart: Utilizado para atualizar o Amadeus em execução com o novo código alterado (Apenas para desenvolvimento)
  5. bash: Utilizado para entrar no container do Amadeus em execução (Apenas para desenvolvimento)
  6. ps: Utilizado para verificar a saúde dos containers do projeto
  7. stop-containers: Utilizado para parar todos os containers do Amadeus que estão em execução
  8. remove-containers: Utilizado para remover todos os containers do Amadeus que foram criados no computador
  9. stop: Utilizado para parar todos os containers docker em execução no computador, seja eles do Amadeus ou não

2.2 Executando o projeto pela primeira vez

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.

  1. make build: Utilizado para criar a imagem docker do Amadeus
  2. 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

2.3 Acessar o Amadeus

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

3. Amadeus em desenvolvimento

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