首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Docker 创建你自己的桥接网络

Docker 引擎能够原生支持桥接网络(bridge networks)和覆盖网络(overlay networks)。

桥接网络被限制用于一个独立主机运行的 Docker 引擎。覆盖网络能够包含有多个主机,这个有更多的高级特性。

下面的例子显示了如何创建一个桥接网络:

$ docker network create -d bridge my_bridge

参数 -d 用于告诉 Docker 在新的网络中使用 桥接(bridge) 驱动。

名字 bridge 是默认使用的网络名字,在创建的时候可以不指定这个参数,那么将会使用默认的网络名字来创建。

当你创建成功后,可以使用下面的命令来查看你机器中的网络配置:

$ docker network ls

NETWORK ID NAME DRIVER

7b369448dccb bridge bridge

615d565d498c my_bridge bridge

18a2866682b8 none null

c288470c46f6 host host

如果你使用下面的命令检查网络的话,你会看到在这里面没有任何内容。

$ docker network inspect my_bridge

[

{

"Name": "my_bridge",

"Id": "5a8afc6364bccb199540e133e63adb76a557906dd9ff82b94183fc48c40857ac",

"Scope": "local",

"Driver": "bridge",

"IPAM": {

"Driver": "default",

"Config": [

{

"Subnet": "10.0.0.0/24",

"Gateway": "10.0.0.1"

}

]

},

"Containers": {},

"Options": {},

"Labels": {}

}

]

桥接网络的情况,请参考上图的配置。

Docker 强大的原因之一在于多个 Docker 容器之间的互相连接。涉及到连接,就引出了网络通信的几种模式。Docker 默认提供了 5 种网络驱动模式。

bridge: 默认的网络驱动模式。如果不指定驱动程序,bridge 便会作为默认的网络驱动模式。当应用程序运行在需要通信的独立容器 (standalone containers) 中时,通常会选择 bridge 模式。

host:移除容器和 Docker 宿主机之间的网络隔离,并直接使用主机的网络。host 模式仅适用于 Docker 17.06+。

overlay:overlay 网络将多个 Docker 守护进程连接在一起,并使集群服务能够相互通信。您还可以使用 overlay 网络来实现 swarm 集群和独立容器之间的通信,或者不同 Docker 守护进程上的两个独立容器之间的通信。该策略实现了在这些容器之间进行操作系统级别路由的需求。

macvlan:Macvlan 网络允许为容器分配 MAC 地址,使其显示为网络上的物理设备。Docker 守护进程通过其 MAC 地址将流量路由到容器。对于希望直连到物理网络的传统应用程序而言,使用 macvlan 模式一般是最佳选择,而不应该通过 Docker 宿主机的网络进行路由。

none:对于此容器,禁用所有联网。通常与自定义网络驱动程序一起使用。none 模式不适用于集群服务。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201202A019WM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券