Docker创建bridge网络
1.创建一个bridge网络bridge 网络用于在本机内容器之间的互通docker network -d 指定网络类型 网络名称如果不-d指定网络类型默认就是bridgedocker network create -d bridgemy-net或docker network createmy-netDoker 会为自定义的网络自动分配一个子网2.创建一个 bridge网络并指定子网docker
·
目录
1.创建一个bridge
网络
bridge
网络用于在本机内容器之间的互通
docker network -d 指定网络类型 网络名称
如果不-d
指定网络类型默认就是bridge
docker network create -d bridge my-net
或
docker network create my-net
Doker 会为自定义的网络自动分配一个子网
2.创建一个 bridge
网络并指定子网
docker network create --subnet=172.20.0.0/16 my-net_172_20
#--subnet 指定子网IP以及子网掩码
3.示例
3.1规划docker容器网络
第一台网络:默认bridge网络
第二台:
- 网络一:bridge默认网络
- 网络二:自建网络
第三台:自建网络
3.2 创建三台docker容器
[root@bogon ~]# docker run -itd --rm --name n1 busybox #创建第一台容器
7d8931399d22a5b3db8dc05d56d488bd5a3345ba72f50ef9f25bea3c33b63ebd
[root@bogon ~]# docker run -itd --rm --name n2 busybox #创建第二台容器
f0e397429cabe4abd7acde4c0591ee58d13fb4936a7965d3f2e02c2ad2939d87
[root@bogon ~]# docker network create -d bridge --subnet 172.20.0.0/16 my-net #创建自建网络
70b769f52acdf465acf54ab249b0faf934a8f646e202c27e27dc7206f11492f8
[root@bogon ~]# docker network connect my-net n2 #给第二台容器添加第二个网络
[root@bogon ~]# docker run -itd --rm --network my-net --name n3 busybox #创建第三台网络并指定自建网络
ee44e70c94cda363a2e07fd25c33a829d34125f71a9e28a3df39f03294c06a0f
3.3 尝试利用容器名进行通信测试
Docker嵌入式DNS服务器可以为连接到给定网络的容器启用名称解析。
也就是说目前在 n2
中可以使用容器名和 n3
进行通信。
但是由于默认的网络 bridge
只支持通过 IP 地址通信
#n2 ping n3 用容器名就可ping
[root@bogon ~]# docker exec -it n2 /bin/sh
/ # ping n3
PING n3 (172.20.0.3): 56 data bytes
64 bytes from 172.20.0.3: seq=0 ttl=64 time=0.103 ms
64 bytes from 172.20.0.3: seq=1 ttl=64 time=0.052 ms
^C
--- n3 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.052/0.077/0.103 ms
#n1 ping n2 必须使用IP地址
[root@bogon ~]# docker exec -it n1 /bin/sh
/ # ping 172.17.0.5
PING 172.17.0.5 (172.17.0.5): 56 data bytes
64 bytes from 172.17.0.5: seq=0 ttl=64 time=0.112 ms
^C
--- 172.17.0.5 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.112/0.112/0.112 ms
4. 操作网络的命令
4.1 创建容器指定网络
docker run -itd --rm --network my-net centos:7
4.2 创建容器指定IP地址
docker run -itd --rm --network my-net centos:7 --ip 172.20.0.100 centos:7
4.3 给容器加入自建网络
docker network connect my-net n2
4.4 从网络中断开一个容器的连接
docker network disconnect 网络名 容器名
docker network disconnect my-net n2
4.5 删除一个自定义的网络
docker network rm 网络名
docker network rm my-net
更多推荐
已为社区贡献1条内容
所有评论(0)