Docker 容器网络与 CoreOS 存储管理全解析
一、Docker 容器网络基础
Docker 容器通过端点或服务连接到网络,多个端点可共享一个网络,只有处于同一网络的端点才能相互通信。创建网络时,可指定网络驱动,既可以是 Docker 提供的驱动(如 Overlay),也可以是外部驱动(如 Weave 和 Calico)。
Libnetwork 提供服务发现功能,容器能发现同一网络中的其他端点。未来计划将服务发现作为插件,服务之间可使用服务名而非 IP 地址进行通信,目前使用 Consul 进行服务发现,后续可能会改变。共享存储(如 etcd 或 consul)用于确定属于同一集群的节点。
二、多网络使用案例
- 案例描述
- 在后端网络
be中设置两个 nginx 容器和一个 HAProxy 容器。 - 将 HAProxy 容器也添加到前端网络
fe中。 - 使用前端网络
fe中的 busybox 容器连接到 HAProxy 容器。由于 busybox 容器在fe网络,nginx 容器在be网络,它们不能直接通信。 - HAProxy 容器将在两个 nginx 后端容器之间进行 Web 连接的负载均衡。
- 在后端网络
- 命令详情
- 创建