32、Docker Swarm服务编排与管理全解析

Docker Swarm服务编排与管理全解析

1. 覆盖网络上的服务发现

Docker服务借助域名系统(DNS)来发现共享Docker网络上其他服务的位置。若程序知晓服务名称,便可连接该服务。例如,在示例应用中,API服务器通过 POSTGRES_HOST 环境变量配置数据库服务名称:

api:
  # ... snip ...
      environment:
        POSTGRES_HOST: 'postgres'

当API任务连接PostgreSQL数据库时,会利用DNS将 postgres 名称解析为IP地址。连接到Docker覆盖网络的容器,会由Docker自动配置,通过特殊解析器 127.0.0.11 执行DNS查找,用户定义的桥接网络和MACVLAN网络也是如此。

Docker引擎处理对 127.0.0.1 的DNS查找。若名称解析请求针对的是该网络上的Docker服务,Docker会返回该服务虚拟IP的位置;若查找的是其他名称,Docker会将请求转发给容器主机的常规DNS解析器。

在示例应用中,当API服务查找 postgres 时,主机上的Docker引擎会返回 postgres 服务端点的虚拟IP,如 10.0.27.2 。API数据库连接驱动可与该虚拟IP建立连接,Swarm会将连接路由到 postgres

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值