【问题标题】:Can I isolate pair of services in docker swarm?我可以在 docker swarm 中隔离一对服务吗?
【发布时间】:2018-09-07 17:02:07
【问题描述】:

我正在使用 docker swarm 构建一个网络应用程序。

Manager 机器将具有数据库和负载平衡器。 接下来我有两个软件:tornado 服务器,它充当用户和节点服务器之间的中间层。他们应该总是一起服务。并且一台 Tornado 服务器应该始终与一台节点服务器通信。

我希望容器尽可能隔离(以保持可扩展性),但我如何确保这种通信?

现在我的方法是构建两个独立的图像 - 一个用于龙卷风,一个用于节点,然后创建连接它们的多阶段容器。我觉得这不是最佳选择,因为我必须在 CMD 中运行两个启动命令。

什么是更好的解决方案?你能强制 docker 耦合图像(例如不指定 IP)吗?

【问题讨论】:

    标签: docker tornado docker-swarm


    【解决方案1】:

    docker compose 文件中有一个链接功能:https://docs.docker.com/compose/compose-file/#links。但最近 Docker 将其标记为已弃用并建议使用用户定义的网络:https://docs.docker.com/network/

    P.S:还要注意注意事项:

    - If you define both links and networks, services with links between them must share at least one network in common to communicate.
    
    - This option is ignored when deploying a stack in swarm mode with a (version 3) Compose file.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多