-
获取当前ip地址的命令
ip addr
docker0相当于路由器,所有的请求都要经过路由器转发 -
查看tomcat的ip地址
docker exec -it tomcat01 ip addr
- 我们每启动一个docker容器,docker就会帮我们分配一个ip,我们只要安装了docker,就会有一个docker0,是桥接模式,使用的是evth-pair技术。
容器带来的网卡是一对对的,evth-pair就是一对的虚拟设备,他们都是成对出现的,一段连着协议,另一端彼此相连(容器内的ip和容器外的一致),容器删除后,对应的ip也就没了。
docker容器之间可以ping通,容器和外部也是可以ping通的
容器内部tomcat01与tomcat02之间网络连接原理图:
查看docker网络情况命令docker network
之前直接启动的命令默认加了 --net bridge 这个是docker0
docker run -d -P --name tomcat01 --net bridge tomcat
自定义网络:指定子网掩码
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
用自定义网络启动:
docker run -d -P --name tomcat-net --net mynet tomcat
自定义的网络可以直接通过 容器名ping通,而且可以保证集群安全
当自定义的容器在不同的网段时是无法ping通的,他们之间网络连通命令
docker network connect+ network+ container
例:docker netword connect mynet tomcat01