Qual é o número IP do meu container usando o Docker beta para mac?

20

Anteriormente, eu estava usando o kit de ferramentas Docker e podia usar docker-machine inspect <machine-name> para encontrar o IP da máquina docker, a fim de visualizar as páginas sendo entregues pelo contêiner dentro.

Eu atualizei para o cliente beta docker (para mac) e não consigo encontrar o local de exibição das páginas.

Eu suponho porque é docker puro e não docker-machine Eu veria as portas expostas no host local. Mas eles não estão abertos. Mesmo através do kitematic, eu navego até a porta exposta (80), mas não vejo nada.

$ docker inspect tiny_cori | jq '.[].HostConfig.PortBindings'
{
  "80/tcp": [
    {
      "HostIp": "",
      "HostPort": "80"
    }
  ]
}

$ docker inspect tiny_cori | jq '.[].NetworkSettings.IPAddress'
"172.17.0.2"

$ curl 172.17.0.2:80/status
^C

$ docker exec -t -i tiny_cori /bin/bash

root@f1c303f60a15:/# curl localhost:80/status
{"status":"OK"}

root@f1c303f60a15:/# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1
    link/sit 0.0.0.0 brd 0.0.0.0
3: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1
    link/tunnel6 :: brd ::
4: ip6gre0@NONE: <NOARP> mtu 1448 qdisc noop state DOWN group default qlen 1
    link/gre6 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
26: eth0@if27: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.2/16 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:acff:fe11:2/64 scope link
       valid_lft forever preferred_lft forever

172.17.0.2 é realmente o IP do meu contêiner? Se não, onde posso encontrar o que é o IP? Ou eu tenho um problema de mapeamento de porta?

    
por Synesso 24.05.2016 / 07:12

4 respostas

20

Você está vendo o endereço IP dentro do contêiner, que é 172.17.0.2 e só existe "dentro" dos contêineres docker (e entre eles).

O endereço IP ao qual você deseja se conectar é o endereço IP de suas máquinas host. Faça um ifconfig no seu Mac e encontre o caminho certo (tipicamente 192.168.x.y ou 10.x.y.z). O localhost também deve funcionar fora do contêiner.

    
por 24.05.2016 / 10:44
6

digite o seguinte comando e você receberá o ip do contêiner docker

$docker inspect <docker-container-name>

Role para baixo e você receberá o endereço IP em " NetworkSettings "

    
por 24.05.2016 / 07:36
3

O Docker para Mac é executado no endereço IP 127.0.0.1

    
por 09.07.2016 / 21:40
1

O endereço IP é explicitamente mencionado na saída para docker ps .

$ docker ps
CONTAINER ID        ... PORTS
c785a183b376        ... 0.0.0.0:80->80/tcp, 443/tcp

$ curl 0.0.0.0:80/status
{"STATUS":"OK"}

Além disso, localhost não é o mesmo que 0.0.0.0

    
por 24.05.2016 / 10:18

Tags