2
respostas

Problema com docker e virtual host

Boa noite senhores, estou com um problema e nao consegui resolver. Estou com docker no windows e no linux. no linux ele "roda" no mesmo ip da máquina (127.0.0.1). Se subo um container, consigo acessar normal adicionando a porta; exemplo. Subi um container "X" na porta 1234, entao se coloco 127.0.0.1:1234 tudo de boa. Mas se tento configurar o hosts ( /etc/hosts) e dou um nome ao endereco, ex: 127.0.0.1:1234 teste.dev . Se tento acessar agora teste.dev da o erro: "servidor nao encontrado".

No windows, um pouco diferente. O docker roda na docker-machine em um ip diferente. Mas se coloco ip:porta acessar normal. Se adiciono ao hosts da erro de "Sua conexão não é particular" e não mostra nada.

E agora, alguém pode ajudar?

2 respostas

Olá Rodrigo, tudo bom? Bem ... uma sugestão para esta dúvida é aprofundar os estudos nos namespaces ... o que é bem característico no ambiente Linux e pode causar uma grande confusão na prática em ambientes diferentes. Algumas dicas para entender como fazer uso nesse contexto de rede é um namespace específico (network namespace): https://docs.docker.com/engine/userguide/networking/#default-networks

Já para entender melhor como administrar os containers por nome/ip : https://docs.docker.com/engine/userguide/networking/default_network/configure-dns/

Para finalizar mas não menos importante, uma sugestão é analisar a maneira como o sistema operacional trata as configurações de rede, uma vez que a herança da metodologia, da criação do Docker, vem de uso de outras ferramentas e do modo de uso nativo que o Linux oferece em questões de rede como iptables e isolamento. Dica: /etc/hosts não tem suporte gerenciamento de portas, o contexto de tratativa é IP e DNS.

Espero ter ajudado, um abraço.

Olá obrigado pela ajuda e pelos links. Mas continua uma dúvida. Depois de ler, vi que nao era possivel adicionar portas ao arquivo hosts (no linux fica em etc/hosts, ja no windows em windows/system32/drivers/etc/hosts) Somente o ip. Modifiquei algumas configuracoes de porta no linux e funcionou perfeitamente o nome que adicionava no hosts. Já no windows, nao abre nem no EDGE (que é um erro já repotado em foruns da MS) e nem no CHROME (erro de conexao nao segura). Somente no firefox.