Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Rodar uma aplicação com Docker

Boa noite amigos, tudo bem?

Seguinte: eu tenho uma aplicação aqui, feita com o liberty server e node JS. Ou seja: ela é java e node.

Acontece que essa aplicação está em um conteiner.

O liberty server roda na porta 9080,e na porta 9443. Eu queria fazer o seguinte:

Rodar somente o Liberty, o back end da aplicação com o docker, e rodar a aplicação, o front end em NODE JS na minha própria máquina.

Bom, eu executei os seguintes passos:

1) digitei docker build -t app .

2) Depois do build, digitei: docker run --name teste --e PORTS=9080 -p 9080:9080 -e PORTS=9043 -p 9043:9043 \

O que ocorre é o seguinte: quando dou o npm start na minha aplicação front end, e ela tenta chamar o back end ao clicar em login, aparece as seguintes mensagens no console do navegador:

blocked page: localhost:9443/login.

E a página fica branca.

Poderiam me ajudar?

A url de produção, no caso: bmscod.ibm.com, eu removi e adicionei localhost/

Fico no aguardo, desde já muito obrigado

4 respostas

Olá Maurilio, tudo bem? Acho que não entendi muito o que você pensa em fazer, você quer executar apenas o backend (que é em Java) no container do Docker e o frontend (que é em NodeJS) você quer executar localmente usando o node diretamente instalado na sua máquina correto?

Porém não entendi o porque do erro, deu algum erro quando você executou o container? Ou quando estava fazendo o build da imagem? Você já entrou no container Docker e verificou se está tudo correto nos logs? E como é essa ligação entre o frontend e o backend não é por meio de uma requisição não? Me parece que o frontend e o backend estão como se fossem um só. Explica melhor para que eu possa ti dar uma resposta mais exata.

Fico aguardando retorno!

oi jonilson, tudo bem? então, eu queria isso mesmo: rodar no back end usando o docker, e o front com o node da minha máquina física.

Só que meu gerente achou melhor outra coisa: ele achou melhor fazer um live reload no container, sabe? para quando for modificado algo no back end ou no front end, o container pegar a mudança sem precisar fazer build novamente.

Sou iniciante em docker, essas demandas inclusive me inspiraram a estudar sobre o assunto. vou começar um curso aqui no site nesse fim de semana.

Sobre o reload, vc poderia me ajudar? eu já tenho todo o docker file pronto. só falta fazer esse reload.

se você puder me dar um caminho para realizar esse live reload eu agradeço. tem muita informacao na internet, mas parte delas são muito complexas para pessoas iniciantes no assunto. agradeço desde já

solução!

Bem Maurilio, o caminho é usando o docker-compose e também alguma ferramenta de monitoramento, nesse artigo bem legal tem um exemplo usando o Watchdog só que é em Python, também podemos usar algo como o Nodemon no mundo do NodeJS, então é basicamente isso.

Espero ter ajudado!