docker - 我可以隔离docker swarm中的一对服务吗?

标签 docker tornado docker-swarm

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

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

我希望容器尽可能地隔离(以保持可伸缩性),但是如何确保这种通信呢?

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

什么是首选解决方案?您可以强制Docker耦合镜像吗(例如不指定IP)?

最佳答案

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

附注:还请注意以下注意事项:

- 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.

关于docker - 我可以隔离docker swarm中的一对服务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52226844/

相关文章:

python - Tornado/异步 Web 服务器理论,如何处理长时间运行的操作以利用异步服务器

python - Tornado gzip 压缩特定 RequestHandler 的响应

docker - Traefik 2.0 网关超时

redis - 有没有办法使用 Docker secrets 从/run/secrets/redis-pass 读取并设置 redis --requirepass 标志?

docker - 如何在运行时为在同一jenkins实例上运行的每个作业提供Jenkins管道脚本(Jenkinsfile)?

docker - pip 升级 TooManyRedirects 异常

python - 将 Tornado 类中的变量导出到另一个模块

nginx - docker swarm 模式(docker 1.13 和 compose v3)真的提供零停机滚动更新或部署吗?

Docker 可信构建未显示在搜索中

haskell - Docker容器中的Yesod应用程序无法发出网络请求