ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Docker网络:bridge桥接模式

2021-08-23 13:04:29  阅读:282  来源: 互联网

标签:bridge language 容器 桥接 网络 Docker docker bash


转自:https://www.freeaihub.com/article/bridge-module-in-docker-network.html

 

docker网络

在前两篇Docker 网络:host模式Docker 网络:container模式中我们已经介绍Docker网络模型中的host模式与container模式。本节将对Docker网络模型中的bridge模型,即桥接模式进行理论介绍,再通过案例的实操,让您更好地去理解docker网络中的桥接模式。

bridge桥接模式

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

  1. docker network ls
language-bash

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

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

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

bridge模式实例

桥接1

导入容器并启动

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

验证

  1. docker exec -it httpd cat /etc/hosts
language-bash

创建自定义网络

桥接2

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

  1. docker network create --driver bridge --subnet 172.22.16.0/24 --gateway 172.22.16.1 mynet2
language-bash

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

  1. docker network ls
language-bash

查看自定义网络的细节

  1. brctl show
language-bash
  1. ifconfig
language-bash
  1. docker network inspect mynet2
language-bash

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

  1. docker run --name bb1 -it --network mynet2 busybox:latest
language-bash
  1. ifconfig
language-bash

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

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

  1. docker run --name bb2 --network mynet2 -it busybox:latest
language-bash

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

  1. ping 172.22.16.2
language-bash

会得到如下 类似回复

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以满足个性化的网络需求。

标签:bridge,language,容器,桥接,网络,Docker,docker,bash
来源: https://www.cnblogs.com/fctest/p/15175389.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有