当前位置:首页 > 云计算 > 正文

云计算技术栈路线


一、云计算核心技术Docker教程:Docker使用网桥网络[点击右上角“关注”,避免错过国民经济和行业信息]
对于网络来说,桥接网络是在分段网络之间转发流量的链路层设备。桥接器可以是硬件设备,也可以是在主机内核中运行的软件设备。
对于Docker,桥接网络使用软件桥接器,允许连接到同一桥接网络的容器进行通信,同时提供与未连接到桥接网络的容器的通信。Docker桥接驱动程序会自动在主机中安装规则,以便不同桥接网络上的容器无法直接相互通信。
在同一Docker守护进程主机上运行的容器的桥接网络。对于运行在不同Docker守护进程主机上的容器之间的通信,您可以在操作系统级别管理路由或使用覆盖网络。
当启动Docker时,会自动创建默认的桥接网络(也称为网桥),除非另有说明,否则新启动的容器将连接到该网络。您还可以创建用户定义的自定义桥接网络。用户义的桥接网络优先于默认桥接网络。
在用户定义的网桥和默认网桥之间
用户定义的网桥提供容器之间的自动DNS解析。
默认桥接网络上的容器只能通过IP地址相互访问,除非您使用传统的--link选项。在用户定义的桥接网络上,容器可以通过名称或别名相互解析。
想象一个具有Web用户界面和数据库平台的应用程序。如果调用Web和db容器,则无论应用程序堆栈在哪个Docker主机上运行,​​Web容器都可以连接到db容器。
如果您在默认桥接网络上运行相同的应用程序堆栈,则需要手动在容器之间创建链接(使用旧式的--link标志)。这些链接需要在两个方向上创建,因此您可以看到,如果有两个以上的容器进行通信,情况就会变得复杂。或者,您可以操作/etc/hosts容器中的文件,但这会导致难以调试的问题。
用户定义的桥接提供更好的隔离。
所有未指定--network的容器都将连接到默认桥接网络。这可能是一个风险,因为不相关的堆栈/服务/容器可能会相互通信。
使用用户定义的网络提供了一个限定范围的网络,只有连接到该网络的容器才能进行通信。
容器可以随时随地与用户定义的网络连接和分离。
在容器的生命周期中,您可以动态地将容器与用户定义的网络连接或断开。要从默认桥接网络中删除容器,您需要停止该容器并使用不同的网络选项重新创建它。
每个用户定义的网络都会创建一个可配置的网桥。
如果您的容器使用默认桥接网络,您可以配置该网络,但所有容器都使用相同的设置,例如MTU和iptables。此外,配置默认桥接网络发生在Docker外部,并且需要重新启动Docker。
使用dockernetworkcreate创建和配置用户定义的桥接网络。如果不同的应用程序组有不同的网络要求,则可以在创建时单独配置每个用户定义的网桥。
在环境变量上链接的容器共享默认的桥接网络。
最初,在两个容器之间共享环境变量的唯一方法是使用--linkflag链接它们。用户定义的网络无法进行这种类型的变量共享。但是,有一些高级方法可以共享环境变量。一些想法:
多个容器可以使用Docker卷来挂载包含共享信息的文件或文件夹。
使用docker-compose一起启动多个容器,compose文件可以定义共享变量。
您可以使用集群服务而不是独立容器,并利用共享密钥和配置。
连接到同一个用户定义的桥接网络的容器可以有效地将所有端口连接在一起。要使端口可供另一个网络上的容器或非Docker主机访问,必须使用或标志发布该端口。-p--publish
全国经济产业论坛联系电话:010-65367702,邮箱:hz@,地址:朝阳市金台西路2号人民日报社北京市区学会