9
respostas

[Projeto] Informações de cursos e outros não são carregados postgre-academico-1

Ao executar "docker compose ps" :

NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS alura-ms-api-gateway-1 nginx "/docker-entrypoint.…" api-gateway 19 minutes ago Up 19 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp alura-ms-consumer-academico-1 alura-ms-consumer-academico "docker-php-entrypoi…" consumer-academico 19 minutes ago Up 19 minutes alura-ms-front-1 node:16 "docker-entrypoint.s…" front 19 minutes ago Up 19 minutes 0.0.0.0:4200->4200/tcp, :::4200->4200/tcp alura-ms-mongo-mkt-1 mongo "docker-entrypoint.s…" mongo-mkt 19 minutes ago Up 19 minutes 27017/tcp alura-ms-postgre-academico-1 postgres "docker-entrypoint.s…" postgre-academico 19 minutes ago Up 19 minutes 5432/tcp alura-ms-rabbitmq-1 rabbitmq "docker-entrypoint.s…" rabbitmq 19 minutes ago Up 19 minutes 4369/tcp, 5671/tcp, 15691-15692/tcp, 25672/tcp, 0.0.0.0:5672->5672/tcp, :::5672->5672/tcp alura-ms-web-academico-1 alura-ms-web-academico "docker-php-entrypoi…" web-academico 19 minutes ago Up 19 minutes 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp alura-ms-web-financeiro-1 alura-ms-web-financeiro "docker-php-entrypoi…" web-financeiro 19 minutes ago Up 19 minutes 0.0.0.0:9501->9501/tcp, :::9501->9501/tcp alura-ms-web-mkt-1 node:16 "docker-entrypoint.s…" web-mkt 19 minutes ago Up 19 minutes 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp

No início da execução apresenta a seguinte mensagem:

web-academico-1 | In Connection.php line 692: web-academico-1 | web-academico-1 | SQLSTATE[08006] [7] could not connect to server: Connection refused web-academico-1 | Is the server running on host "postgre-academico" (172.28.0.3) and accepti web-academico-1 | ng web-academico-1 | TCP/IP connections on port 5432? (SQL: select * from information_schema.ta web-academico-1 | bles where table_schema = public and table_name = migrations and table_type web-academico-1 | = 'BASE TABLE') web-academico-1 | web-academico-1 | web-academico-1 | In Connector.php line 70: web-academico-1 | web-academico-1 | SQLSTATE[08006] [7] could not connect to server: Connection refused web-academico-1 | Is the server running on host "postgre-academico" (172.28.0.3) and accepti web-academico-1 | ng web-academico-1 | TCP/IP connections on port 5432? web-academico-1 | web-academico-1 |

Não apresenta na aplicação o Lead inicial e não apresenta os cursos em http://localhost:4200/cursos Insira aqui a descrição dessa imagem para ajudar na acessibilidade

https://drive.google.com/file/d/1W13j9kaN6Nz-YE8djgEIFG1SMMO_kva2/view?usp=sharing Para ver os logs copie e cole o link, Alura bloqueia click direto.

O que pode estar acontecendo?

9 respostas

Só rodar um docker compose up -d web-academico. O banco ainda estava sendo inicializado no momento em que o app tentou subir. :-)

Não retorna dados do banco de dados, mesmo após executar docker compose up -d web-academico. Insira aqui a descrição dessa imagem para ajudar na acessibilidadeMe parece que não está alimentando as tabelas com dados na inicialização. Neste caso o que devo fazer?

Esse arquivo era pra ter sido executado e rodado as migrations: https://github.com/CViniciusSDias/alura-ms/blob/main/academico-php-web.sh

Me manda a saída de docker compose logs web-academico pra eu ver melhor o que rolou.

Me parece que inicialmente a conexão com a porta é recusada. Eu executei sudo lsof -i -P -n | grep LISTEN para verificar se não tinha nenhuma porta sendo usada antes de docker compose up --build . Removi dos containers, images e volumes com os comandos docker rm $(docker container ls -aq) --force , docker rmi $(docker image ls -aq) --force e docker volume rm $(docker volume ls -q) --force. Derrubei o compose com docker compose down. Depois executei novamente docker compose up --build mas o problema persistiu.

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

Me parece que inicialmente a conexão com a porta é recusada.

Não é isso, porque na sua resposta anterior a gente vê mensagens como relation "courses" does not exist, então a query tá chegando lá. O problema foi a ordem da inicialização mesmo.

Como altero a ordem de inicialização para evitar esse problema?

Eu estou em uma reunião agora, então não consigo testar. Mas imagino que colocar um restart: on-failure no container do web-academico deva resolver.

Porque ele vai tentar subir enquanto o banco não está pronto, aí vai dar erro e reiniciar. Vai ficar assim até o banco estar pronto, aí as alterações no banco serão feitas corretamente.

Mas no seu caso, com tudo de pé, um simples docker compose restart web-academico deveria ser suficiente.

Bom dia!

docker compose restart web-academico

não foi o suficiente, o banco está sem registros na inicalização e após registro de pagamento o status do lead não muda para 1.

O banco acadêmico não tem nenhum registro de cursos, mas a tabela de cursos está lá? É isso? E após o restart, como ficou o registro de logs desse serviço? Eu acabei de subir localmente do zero o projeto aqui e foi de primeira. =/