Trước đây tôi đã sử dụng bộ công cụ Docker và có thể sử dụng docker-machine inspect <machine-name>
để tìm IP của máy docker, để xem các trang được phục vụ bởi container bên trong.
Tôi đã nâng cấp lên máy khách beta docker (cho mac) và không thể tìm thấy nơi các trang đang được phục vụ.
Tôi giả sử vì nó là docker thuần túy và không phải là docker-machine Tôi sẽ thấy các cổng bị lộ trên localhost. Nhưng họ không mở. Ngay cả thông qua kitical tôi điều hướng đến cổng tiếp xúc (80) nhưng không thấy gì.
$ 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
Là 172.17.0.2 thực sự là IP của container của tôi? Nếu không, tôi có thể tìm thấy IP ở đâu? Hoặc tôi có một vấn đề ánh xạ cổng?