开发者社区> 问答> 正文

Swarm mode 集群服务编排的networks



模板版本支持

Compose V1/V2Compose V3
Compose V2 中的网络允许服务的容器启动在自定义的网络中,容器服务的容器都是在同一个跨主机互通的容器网络,所以不支持您在 Compose V2 中使用 networks标签。关于容器服务的网络管理和服务发现,参见 跨主机互联的容器网络支持使用 networks 标签将应用添加到自定义网络中。参见 networks


Compose V3


您可以在创建应用时通过指定应用的网络将服务添加到自定义的网络中。您可以将服务添加到一个或多个自定义网络中来实现服务间的互相访问。

[backcolor=transparent]注意:
  • 将应用添加到某一自定义网络后,您无法更改应用的网络。
  • 将应用添加到某一自定义网络后,您无法将应用从该网络中移除。只有在删除应用时,应用才会从该网络中移除。

[backcolor=transparent]编排示例:
  1. [backcolor=transparent]version[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]'3.2'
  2. [backcolor=transparent]services[backcolor=transparent]:
  3. [backcolor=transparent]  test[backcolor=transparent]:
  4. [backcolor=transparent]    image[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]'wordpress:4'
  5. [backcolor=transparent]    deploy[backcolor=transparent]:
  6. [backcolor=transparent]      mode[backcolor=transparent]:[backcolor=transparent] replicated
  7. [backcolor=transparent]      replicas[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]1
  8. [backcolor=transparent]      update_config[backcolor=transparent]:
  9. [backcolor=transparent]        failure_action[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]continue
  10. [backcolor=transparent]      restart_policy[backcolor=transparent]:
  11. [backcolor=transparent]        condition[backcolor=transparent]:[backcolor=transparent] none
  12. [backcolor=transparent]    networks[backcolor=transparent]:
  13. [backcolor=transparent]      [backcolor=transparent]-[backcolor=transparent] swarmmode [backcolor=transparent]#您的自定义网络的名称
  14. [backcolor=transparent]      [backcolor=transparent]-[backcolor=transparent] testswarm [backcolor=transparent]#您的自定义网络的名称
  15. [backcolor=transparent]networks[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]#声明您的自定义网络
  16. [backcolor=transparent]  swarmmode[backcolor=transparent]:
  17. [backcolor=transparent]    external[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]true
  18. [backcolor=transparent]  testswarm[backcolor=transparent]:[backcolor=transparent]
  19. [backcolor=transparent]    external[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]true

您需要对应用所要使用的自定义网络进行声明,否则部署应用时会报错。其中,external: true 表示自定义网络已创建,创建应用时容器服务不会尝试创建该自定义网络,而是查找该自定义网络并将应用添加至该自定义网络。

[backcolor=transparent]注意:external 不能与其它网络配置参数(driver、driver_opts、ipam、internal)一起使用。

展开
收起
反向一觉 2017-10-30 15:17:33 2205 0
0 条回答
写回答
取消 提交回答
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Microservices on DC/OS and Container Orchestration on Mesos 立即下载
基于Kubernetes实现弹性的CI/CD系统 立即下载
Kubernetes的网络实践 立即下载