Docker----Docker自定义网络

网友投稿 259 2022-10-20

Docker----Docker自定义网络

(1)查看当前已经存在的docker网络

docker

如:

[root@iZbp1flzt6x7pxmxfhmxeeZ ~]# docker network listNETWORK ID NAME DRIVER SCOPE9741ca08001e bridge bridge local405291d91242 host host localc07d37e1f457 none null local[root@iZbp1flzt6x7pxmxfhmxeeZ ~]#

(2)创建192.168.0.0网段的自定义网络

如下,指定网段为192.168.0.0/24,网关为192.168.0.1,网络类型为bridge,网络名称为mynet

docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet

创建后再次查看当前docker网络

[root@iZbp1flzt6x7pxmxfhmxeeZ ~]# docker network listNETWORK ID NAME DRIVER SCOPE9741ca08001e bridge bridge local405291d91242 host host local5fea02b3963d mynet bridge localc07d37e1f457 none null local[root@iZbp1flzt6x7pxmxfhmxeeZ ~]#

(3)查看具体docker网络的详细信息

如下为查看新创建的mynet网络的详细信息

[root@iZbp1flzt6x7pxmxfhmxeeZ ~]# docker network inspect mynet[ { "Name": "mynet", "Id": "5fea02b3963d7e7a8628f8c4e6e99d46db28442e6b0ea2a14962963ae1a94ed5", "Created": "2021-10-30T20:01:53.186295499+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": {}, "Options": {}, "Labels": {} }][root@iZbp1flzt6x7pxmxfhmxeeZ ~]#

(4)创建名为centos1的docker容器,并指定网络为mynet

docker

如下为创建后并进入,查看ip

[root@iZbp1flzt6x7pxmxfhmxeeZ ~]# docker run -it --name centos1 --net mynet centos[root@e98a944fec1e /]# ip addr1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever217: eth0@if218: mtu 1500 qdisc noqueue state UP group default link/ether 02:42:c0:a8:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 192.168.0.2/16 brd 192.168.255.255 scope global eth0 valid_lft forever preferred_lft forever[root@e98a944fec1e /]#

(5)创建名为centos2的docker容器,使用网络mynet

docker

如下,创建容器后进入并查看网络

[root@iZbp1flzt6x7pxmxfhmxeeZ ~]# docker run -it --name centos2 --net mynet centos[root@e4b7913e1581 /]# ip addr1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever219: eth0@if220: mtu 1500 qdisc noqueue state UP group default link/ether 02:42:c0:a8:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 192.168.0.3/16 brd 192.168.255.255 scope global eth0 valid_lft forever preferred_lft forever[root@e4b7913e1581 /]#

(6)在名为centos1的容器中ping名为centos2的容器名

如下,可以ping通

[root@e98a944fec1e /]# ping centos2 -c 3PING centos2 (192.168.0.3) 56(84) bytes of data.64 bytes from centos2.mynet (192.168.0.3): icmp_seq=1 ttl=64 time=0.049 ms64 bytes from centos2.mynet (192.168.0.3): icmp_seq=2 ttl=64 time=0.072 ms64 bytes from centos2.mynet (192.168.0.3): icmp_seq=3 ttl=64 time=0.069 ms--- centos2 ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time 2000msrtt min/avg/max/mdev = 0.049/0.063/0.072/0.012 ms[root@e98a944fec1e /]#

(7)在名为centos2的容器中ping名为centos1的容器名

如下,同样可以ping通

[root@e4b7913e1581 /]# ping centos1 -c 3PING centos1 (192.168.0.2) 56(84) bytes of data.64 bytes from centos1.mynet (192.168.0.2): icmp_seq=1 ttl=64 time=0.038 ms64 bytes from centos1.mynet (192.168.0.2): icmp_seq=2 ttl=64 time=0.069 ms64 bytes from centos1.mynet (192.168.0.2): icmp_seq=3 ttl=64 time=0.063 ms--- centos1 ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time 2001msrtt min/avg/max/mdev = 0.038/0.056/0.069/0.016 ms[root@e4b7913e1581 /]#

(8)自定义网络好处

可以自动支持容器名到容器ip的映射,即可以直接把容器名作为ip使用可以为每个集群环境设置独立的网段,从而做到集群之间的隔离可以自定义容器网络的网段

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Docker----容器名互联link技术及其本质
下一篇:SpringBoot中HttpSessionListener的简单使用方式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~