Bem, antes de começar a postagem. Estou um tanto atrasado com postagens aqui, estou escrevendo uma postagem longa, mas vou demorar um pouco pra terminar. Então, vou jogar pequenas dicas aqui conforme os problemas que eu for encontrando no serviço. Assim resolvo meus problemas e o de mais alguém que estiver na mesma situação.
O problema
Ao tentar usar o git clone para baixar um repositório na rede interna dentro de um container docker recebi este belo erro:ssh: Could not resolve hostname git.internal: Name or service not known fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
Qual a solução?
A solução é muito simples. O Docker usa por padrão os servidores de DNS 8.8.8.8 e 8.8.4.4 (DNS da Google). Em outras palavras, ele não vai ter acesso a rede interna, uma vez que os servidores de DNS não sabem - e nem deveriam saber - nada a respeito dos hosts internos.
O que fazer? No Ubuntu, é só editar o arquivo /etc/default/docker, descomentar a linha e acrescentar seu DNS a variável DOCKER_OPTS:
DOCKER_OPTS="--dns <SEU_DNS> --dns 8.8.8.8 --dns 8.8.4.4"
Reinicie o daemon do docker:
sudo service docker restart
Pronto. Pode usar o git dentro dos seus containers tranquilamente - se tiver apontado pro DNS correto.
Menos uma besteira pra dar um dia de dor de cabeça. ;)
Fontes:
RandomTech
Um comentário:
Essa postagem longa que nunca veio...
Postar um comentário