我对这两个ip地址感到困惑:
$ docker-machine ls
NAME ACTIVE URL STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.100:2376 v1.10.3
和
$ docker inspect aa769fbe3a3a | grep IPAddress | cut -d '"' -f 4
172.17.0.2
我查看了码头工作人员,但无法找到答案。
有人可以向我解释ip 192.168.99.100用于什么?
另外ip 172.17.0.2用于什么?
答案 0 :(得分:4)
第一个是运行docker守护程序的Linux主机的IP
第二个是容器的IP aa769fbe3a3a using the bridge network eth0
to docker0
。
例如“Docker Networking”:
另外“Concerning Containers' Connections: on Docker Networking”:
当Docker服务游戏启动时,它会在主机系统上配置虚拟网桥
docker0
。(如下图所示)。 Docker选择主机上未使用的子网,并为网桥分配一个空闲IP地址。第一次尝试是172.17.42.1/16,但如果存在冲突,则可能会有所不同 此虚拟网桥处理所有主机容器通信。
当Docker启动容器时,默认情况下,它会在主机上创建一个虚拟接口,该接口具有唯一的名称,例如
veth220960a
,以及同一子网内的地址。 此新界面将连接到容器本身的eth0
界面 为了允许连接,使用DOCKER命名链添加iptables规则。网络地址转换(NAT)用于将流量转发到外部主机,并且必须将主机设置为转发IP数据包。