• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

docker支持桥接模式吗

武飞扬头像
PHP中文网
帮助40

docker支持桥接模式吗

Docker安装时会创建一个名为docker0的虚拟网桥。除非我们进行另外的配置,新创建的容器都会自动连接到这个虚拟网桥提供的风格,bridge网络用于同一主机上的docker容器相互通信,连接到同一个网桥的docker容器可以相互通信。

bridge 对宿主机来讲相当于一个单独的网卡设备 对于运行在宿主机上的每个容器来说相当于一个交换机,所有容器的虚拟网线的一端都连接到docker0上。

容器通过本地主机进行上网,容器会创建名为veth的虚拟网卡,网卡一端连接到docker0网桥,另一端连接容器,容器就可以通过网桥通过分配的IP地址进行上网。

我们也可以自定义自己的bridge网络,docker文档建议使用自定义bridge网络,

bridge模式实例

导入容器并启动

docker load < /share/images/httpd.tar
docker run -d --name httpd -p 80:80 httpd

验证

docker exec -it httpd cat /etc/hosts

创建自定义网络

创建一个自定义网络, 可以指定子网、IP地址范围、网关等网络配置

docker network create --driver bridge --subnet 172.22.16.0/24 --gateway 172.22.16.1 mynet2

查看docker网络,是否创建成功。

docker network ls

查看自定义网络的细节

brctl show
ifconfig
docker network inspect mynet2

创建容器bb1,连接到自定义网络,并进入容器验证,可以看到该容器的ip地址为172.22.16.2

docker run --name bb1 -it --network mynet2 busybox:latest
ifconfig

验证后我们按Ctrl P后,再按Ctrl Q,从bb1容器退回到主机环境而不关闭容器bb1

再创建一个容器bb2,也连接到网络mynet2中

docker run --name bb2 --network mynet2 -it busybox:latest

进入容器,访问bb1容器的ip地址,进行验证

ping 172.22.16.2

会得到如下 类似回复

PING 172.22.16.2 (172.22.16.2): 56 data bytes
64 bytes from 172.22.16.2: seq=0 ttl=64 time=0.439 ms
64 bytes from 172.22.16.2: seq=1 ttl=64 time=0.140 ms
64 bytes from 172.22.16.2: seq=2 ttl=64 time=0.129 ms

总结

Docker网络bridge桥接模式,是创建和运行容器时默认模式。这种模式会为每个容器分配一个独立的网卡,桥接到默认或指定的bridge上,同一个Bridge下的容器下可以互相通信的。我们也可以创建自定义bridge以满足个性化的网络需求。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanfkihb
系列文章
更多 icon
同类精品
更多 icon
继续加载