查看所有的docker网络:
网络模式:
bridge:桥接 docker (默认,推荐用这个)
none:不配置网络
host:和宿主机共享网路
container:容器内网络连通(局限性很大,不建议使用)
测试:
#我们直接启动的命令(默认参数) --net bridge,这个就是我们的docker0 docker run -d -P --name tomcat01 tomcat docker run -d -P --name tomcat01 --net bridge tomcat #docker0特点,默认,域名不能访问,--link 可以打通连接 # 自定义一个网络 # --driver bridge # --subnet 192.168.0.0/16 子网 192.168.0.2 ~ 192.168.255.255 # --gateway 192.168.0.1 网关 [root@gaoleiTest /]# docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet 690b3c75acb3d1441669f60527805c758407509224c04def645a1400d5180d68 [root@gaoleiTest /]# docker network ls NETWORK ID NAME DRIVER SCOPE d125776fd42f bridge bridge local 7c3704c16e1a host host local 690b3c75acb3 mynet bridge local cfa665d6d0e1 none null local
查看自己创建的网络
docker network inspect mynet
指定启动的容器走自己的网络(比docker0好用的多,不用--link也可以ping 名字)
[root@gaoleiTest /]# docker run -d -P --name tomcat-net01 --net mynet tomcat fef9a6be2203642e961e8ccf40ef484133355aac0dd6521a6d1e4fa918b6ac90 [root@gaoleiTest /]# docker run -d -P --name tomcat-net02 --net mynet --link tomcat 278c6af35b616cfa9533f621048cd72eb689572ad2396b5432b82091ac776b4f [root@gaoleiTest /]# docker network inspect mynet [ { "Name": "mynet", "Id": "690b3c75acb3d1441669f60527805c758407509224c04def645a1400d5180d68", "Created": "2022-08-01T10:49:40.174587703+08:00", "Scope": "local", "Driver": "bridge", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": {}, "Config": [ { "Subnet": "192.168.0.0/16", "Gateway": "192.168.0.1" } ] }, "Internal": false, "Attachable": false, "Ingress": false, "ConfigFrom": { "Network": "" }, "ConfigOnly": false, "Containers": { "278c6af35b616cfa9533f621048cd72eb689572ad2396b5432b82091ac776b4f": { "Name": "tomcat-net02", "EndpointID": "f1878ec92d19925fe26ed2bf1c3864ddd8f74ac9030379ab82b9e529d94ca076", "MacAddress": "02:42:c0:a8:00:03", "IPv4Address": "192.168.0.3/16", "IPv6Address": "" }, "fef9a6be2203642e961e8ccf40ef484133355aac0dd6521a6d1e4fa918b6ac90": { "Name": "tomcat-net01", "EndpointID": "c716d69c98375e8d96a67b75336cfb81b295cfb7af88861a3f1131298da9628a", "MacAddress": "02:42:c0:a8:00:02", "IPv4Address": "192.168.0.2/16", "IPv6Address": "" } }, "Options": {}, "Labels": {} } ]
结论:
我们自定义的网络docker都已经帮我们维护好了对应的关系,推荐我们平时这样使用网路!
好处:
不同的集群使用不同的网络,保证集群是安全和健康的。