如何在Docker容器之间发送和接收数据?

时间:2019-01-19 14:42:53

标签: docker kubernetes dockerfile

假设我要创建一个由三个不同的dockerized部分组成的Web应用程序:

  1. 用于前端的Web服务器(例如Nginx)
  2. 使用GO构建的API
  3. 按需运行的Python脚本2。

例如。当用户访问 example.com 时,将为静态前端提供服务,他们单击一个按钮即可触发对该API的调用,然后该API依次调用并等待Python脚本的结果。

我是否将为2和3设置RESTful端点?如果该API应该公开可用,我是否会创建另一个NGINX实例,那么它将是NGINX和Go放在一个容器中吗?我如何通过Python容器内的另一个NGINX实例“收集” API的Python脚本的结果?那样会违反Docker原理并大大降低可维护性,因为我必须维护每个NGINX实例吗?

1 个答案:

答案 0 :(得分:2)

我看到两种处理方式:

  • 创建一个python Web服务而不是一个脚本,然后您可以直接调用它,它可以回答结果(如果它的全部功能是转发调用,您甚至可以删除go api)
  • 如果python代码必须是脚本,那么它基本上是go Web服务的一部分,应内置到同一容器中