1
resposta

Referente ao final da aula, sobre o traceroute do seu docker para o raspberry

Minha dúvida é, ao sair do docker, pelo NAT, ele não precisa passar para o roteador? Esse redirecionamento está dentro do docker? Minha dúvida veio referente a, por estar na rede 172 e pingar a 192, entendo o NAT. Porém ele não é feito no roteador? Obrigado, ótima aula!

1 resposta

Olá, Ilton!

Quando você está trabalhando com Docker, o Docker cria sua própria rede interna para os contêineres. Nesse caso, a rede interna do Docker está usando o intervalo de endereços 172.17.0.0/16. Quando um contêiner Docker tenta se comunicar com um endereço fora dessa rede interna, o Docker realiza uma operação de NAT (Network Address Translation) para traduzir o endereço interno do contêiner para um endereço que possa ser reconhecido na rede externa.

No exemplo da aula, o contêiner Docker está tentando se comunicar com um Raspberry Pi na rede local, que está usando o intervalo de endereços 192.168.1.0/24. O Docker realiza o NAT do endereço do contêiner (172.17.0.2) para o endereço do host Docker na rede local (192.168.1.100).

Agora, aqui está a parte que pode estar causando confusão: embora o NAT geralmente seja associado a roteadores, neste caso, o NAT está ocorrendo dentro do host Docker, não no roteador. Isso ocorre porque o Docker está gerenciando sua própria rede interna e precisa traduzir os endereços dessa rede interna para a rede externa.

Então, para responder a sua pergunta, neste caso específico, o NAT está ocorrendo dentro do Docker, e não no roteador. E, como o contêiner Docker e o Raspberry Pi estão na mesma rede local (graças ao NAT do Docker), não é necessário passar pelo roteador para se comunicar.

Espero ter ajudado e bons estudos!

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