Docker网络
网络模式:
bridge:桥接(默认)
none:不配置网络
host:主机模式(和主机共享网络)
container:容器网络连通(容器之间直接互联)
Docker使用的是linux的桥接(通过虚拟化网络技术 容器内和docker0分别创建虚拟网卡,通过veth pair连接)
即Docker中的所有的网络接口都是虚拟的(转发效率高)。移除容器后,网卡自动消失
Tomcat01和 Tomcat02共用一个路由器——docker0(容器不指网络时都由docker0路由)
每启动一个容器,docker就为容器分配一个可用ip
容器之间的通信(如Tomcat01和 Tomcat02)是通过转发来进行通信
启动:docker run -d -P --name 容器名 (--net bridge桥接网络为默认参数) tomcat
但docker0不支持容器名连接访问
所以要通过自定义网络来实现容器互联:subnet(配置子网的网段和IP版本) 、gateway(配置网关)
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
启动两个使用自定义网络配置的tomcat容器测试:
docker run -d -P --name tomcat-net01 --net mynet tomcat
、 docker run -d -P --name tomcat-net02 --net mynet tomcat
应用:不同的集群使用不同的网络,保证集群的安全和健康
网络连通:(跨越网络操作容器)
测试:因为tomcat01在docker0网络上,tomcat-net01在mynet网络上,无法直接ping通
现将tomcat01连接到mynet网络上docker network connect mynet tomcat01