Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Nome do container do mongo db

Na atividade anterior, após criar a rede própria, ao criar o container com o mongo é usado a flag --name para nomear o container com "meu-mongo" e após isso é possível fazer o ping através do nome do container.

No arquivo "config.development.json" do código é defino o host do banco com o nome igual ao do container "meu-mongo" (que será concatenado no url de conexão do banco).

O que estranhei é que no "docker-compose.yml" ao criar o serviço do mongodb, não é definido o "container_name" como é feito nas imagens do node e nginx.

Ao rodar o comando "docker ps" e "docker-compose ps" o nome do container do mongo aparece como "aluradockercap06_mongodb_1", dai fiquei pensando como a conexão esta funcionando já que no arquivo de configuração do banco consta "mongodb", porém o nome do container é diferente.

Acredito que nesse caso, o nome usado para conexão seja o nome do serviço e não o do container, mas não tenho certeza. Agradeceria se algum pudesse me explicar melhor :)

1 resposta
solução!

Olá, Jair. Tudo bem?

O que acontece é isso mesmo que você pensou. Quando você executa o docker-compose -up uma rede será criada e os serviços são adicionados a essa rede com o hostname igual ao nome do serviço. Quando uma requisição chega na rede do Docker procurando pelo hostname do serviço, o Docker redireciona a requisição para o ip do container associado.

Espero ter ajudado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software