Wcześniej korzystałem z zestawu narzędzi Docker i mogłem docker-machine inspect <machine-name>
znaleźć adres IP maszyny dokującej, aby wyświetlić strony obsługiwane przez kontener.
Uaktualniłem do klienta beta dokera (dla komputerów Mac) i nie mogę znaleźć, gdzie strony są obsługiwane.
Zakładam, ponieważ ponieważ jest to okno dokowane, a nie maszyna dokująca, widziałbym odsłonięte porty na localhost. Ale nie są otwarte. Nawet przez kitematic nawiguję do odsłoniętego portu (80), ale nic nie widzę.
$ 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
Czy 172.17.0.2 to naprawdę adres IP mojego kontenera? Jeśli nie, gdzie mogę znaleźć adres IP? Czy mam problem z mapowaniem portów?
wpisz następujące polecenie, a otrzymasz kontener dokera ip
Przewiń w dół, a zobaczysz adres IP w „ NetworkSettings ”
źródło
Docker dla komputerów Mac działa pod adresem IP 127.0.0.1
źródło
Adres IP jest wyraźnie wymieniony w danych wyjściowych do
docker ps
.Co więcej,
localhost
to nie to samo, co0.0.0.0
źródło
Uważam, że 127.0.0.1 jest dla hosta lokalnego.
Aby uzyskać identyfikator dokera, który działa na komputerze Mac. Uruchom „ifconfig” w terminalu, aby uzyskać wynik oprócz 127.0.0.1
Głównie coś takiego jak 192.168.xy
Mam nadzieję, że to pomoże.
źródło