查看所有网络:
docker network ls
查看指定网络详细信息:
docker network inspect 网络名:
网络模式:
bridge:桥接 docker(默认模式)
none:不配置网络
host:和宿主机共享网络
container:容器内网络连通~(用的少!局限很大)
查看网卡:
ip addr
启动容器时默认设置的网络:
我们直接启动的命令 --net bridge,这个就是我们的docker0,也就是默认参数
docker run -d -P --name tomcat01 tomcat
docker run -d -P --name tomcat01 --net bridge tomcat
这两个启动命令是一样的,因为--net bridge是默认参数,不设置就默认使用的参数。
docker0: 默认,域名不能访问,可以通过--link打通
创建网络:
创建一个名为mynet的桥接网络
docker network create --driver bridge --subnet 192.168.0.0/16 --geteway 192.168.0.1 mynet
--driver bridge : 创建了一个桥接网络
--subnet : 创建一个子网ip
--getway : 配置一个网关
创建容器时配置自己创建的网络:
docker run -d -P --name tomcat01 --net mynet tomcat
--net 后面跟网络名
在相同网络下的容器可以互相ping通:
docker exec -it tomcat01 ping 192.168.85.33
docker exec -it tomcat01 ping tomcat01
在相同网络下的容器可以互相ping通
我们自定义的网络docker都已经帮我们维护好啦对应的关系
不同的容器集群使用不同的网络,保证我们的容器时安全的。
网络连通:
网络连通,让两个处于不同网络的容器能够互相通信。
docker network connect 网络名 容器名
将其中一个容器放到另一个需要通信的容器的网络中,可以使这个容器同时在两个网络中
一个容器,两个ip,一个容器可以跟两个网络的容器通信
结论:假设需要跨网络操作别人,就需要使用docker network connect 连通,让这个容器同时存在于两个网络中,拥有两个ip