Por que eu preciso usar o “localhost” para conectar ao Docker MySQL DB no Windows?

0

Atualmente estou no processo de aprender o Docker (usando-o no Windows e no Linux) e há uma coisa que não consigo entender e acho que é melhor explicado com um exemplo.

Eu rodei um contêiner do MySQL para expor as portas e depois me conectei a ele via cliente MySQL, como o MySQL Workbench. No Linux / Ubuntu eu consigo conectar ao DB rodando dentro de um container através do seu endereço IP, o que eu obtenho executando:

docker inspect CONTAINER_NAME

Isso faz todo o sentido para mim, é assim que eu me conecto a um banco de dados em execução em um servidor.

No entanto, no Windows, essa abordagem não funciona. Eu realmente tenho que conectar a localhost em vez do IP do contêiner. Eu entendo que isso tem algo a ver com o fato de que, nos contêineres do Windows, estão sendo executados dentro de uma VM Linux, mas, nesse caso, eu deveria estar usando o endereço IP da VM para se conectar a ela.

Alguém poderia me explicar por que isso funciona da maneira que funciona? Eu me esforço para entender (eu ainda sou um desenvolvedor júnior) e eu preferiria entender como funciona, além de memorizar comandos / IPs para sistemas operacionais diferentes.

    
por Jeremi 22.04.2018 / 00:31

0 respostas