Estou a usar o Docker para Mac. Estou a utilizar um microserviço baseado em nodejs num contentor Docker. Eu quero testar o microservice do nó através do navegador. Como obter o endereço IP de um contentor de doca em funcionamento?
Se você não'não quer mapear portos do seu host para o container, você pode acessar diretamente à faixa de doca ip para o container. Este intervalo é, por padrão, acessado apenas a partir do seu host. Você pode verificar os dados da rede do seu contêiner fazendo isso:
docker inspect <containerNameOrId>
Provavelmente, é melhor filtrar:
docker inspect <containerNameOrId> | grep '"IPAddress"' | head -n 1
Normalmente, o intervalo padrão do ip do docker é 172.17.0.0/16
. Seu host deve ser 172.17.0.1
e seu primeiro container deve ser 172.17.0.2
se tudo estiver normal e você não especificou'não especifique nenhuma opção especial de rede.
**EDIT*** Outra forma mais elegante de usar os recursos da doca em vez de "bash tricking":
docker inspect -f "{{ .NetworkSettings.IPAddress }}" <containerNameOrId>
Você pode iniciar seu container com a bandeira -P
. Este "atribui" um porto aleatório para o porto exposto da sua imagem.
Com docker port <container id>
você pode ver o porto escolhido aleatoriamente. O acesso é então possível através de `localhost:port'.