Criei um container, e agora preciso fazer acesso as informações de um IP especifico da minha rede onde roda o banco de dados. Como posso permitir esse acesso?
Criei um container, e agora preciso fazer acesso as informações de um IP especifico da minha rede onde roda o banco de dados. Como posso permitir esse acesso?
Fala aí Henrique blz?
Para fazer isso você precisa alterar a rede que seu container está rodando.
Quando você instala o docker
são criado 3 redes para que seus containers possam rodar.
bridge - uma rede isolada do host, essa é a padrão quando você roda um container e não especifica nada
none - sem rede, seu container não tem rede alguma.
host - rede do host onde roda o docker deamon
.
Para listar essas redes você pode usar o comando docker network list
.
Para especificar a rede em que seu container deve usar você passa um parâmetro na hora de rodar o seu container --network
Por exemplo:
docker run -d --network host minhaImagem
Com o comando acima um container de minhaImagem
rodará na mesma rede que o host.
O problema com essa abordagem no meu ponto de vista é a segurança. Pois a partir do seu container, é possível alcançar qualquer ativo da sua rede.
Para contornar esse problema, você pode criar uma rede própria através do comando docker network create [especificação da sua rede]
e especificar o que essa rede pode acessar.
Se você quiser saber mais sobre como funciona a parte de redes no docker estou deixando o link da documentação:
https://docs.docker.com/engine/userguide/networking/
Espero ter ajudado.
Muito bom! Obrigado