Docker-docs-中的-Networking-overview-部分

Network drivers

有这样几种类型:

  • bridge
  • host
  • overlay
  • ipvlan
  • macvlan
  • none
  • Network Plugins

bridge

官方文档
bridge, 这是默认的 Network driver, 这个用于你有几个独立的容器, 然后你想让它们连接到一起.

一个 bridge 可以是一个运行在宿主机内核之上的硬件设备或者软件设备.

Docker 使用的是软件 bridge, 允许 containers 连接到同一个 bridge 并能够通信, 没有连接到这个 bridge 的 containers 不能与之通信.

也就是位于同一个网段的可以通信.

这只能用于 containers 跑在同一台主机上.

用户定义的 bridge 优先级比默认定义的高.

配置默认的 bridge network

可以在 daemon.json 这个文件中写相应配置. 路径为 /etc/docker/daemon.json, 如官方给出的例子:

1
2
3
4
5
6
7
8
9
{
"bip": "192.168.1.1/24",
"fixed-cidr": "192.168.1.0/25",
"fixed-cidr-v6": "2001:db8::/64",
"mtu": 1500,
"default-gateway": "192.168.1.254",
"default-gateway-v6": "2001:db8:abcd::89",
"dns": ["10.20.1.2","10.20.1.3"]
}

host

官方文档
用这个 network 可以去除各个容器以及宿主机之间的隔离性, 直接使用宿主机的网络.

容器不会被分配 IP 地址.

比如, 如果这个容器使用了 80 端口, 在使用 host 网络时, 你可以用素主机的 80 端口访问这个服务. (也就是说 port-mapping 会失效).

这个 host 选项只有在 Linux 主机上才能使用.

overlay

官方文档
似乎和 Swarm 相关.

ipvlan

官方文档
让用户完全掌控 ipv4 和 ipv6.

文档有点长.

macvlan

官方文档
其允许你给容器分配一个 MAC 地址.

none

官方文档

对于这个容器, 禁止所有的 network.

none 不能对 swarm 使用.

Network Plugins

使用第三方的网络插件.


Docker-docs-中的-Networking-overview-部分
http://example.com/2022/10/07/Docker-docs-中的-Networking-overview-部分/
作者
Jie
发布于
2022年10月7日
许可协议