有没有一种方法可以安排docker容器相对于彼此运行?

时间:2019-04-05 15:08:18

标签: python bash docker kubernetes

我正在使用Docker容器创建微服务。

最初,我运行一个Docker容器,它为我提供了一些输出,作为第二个Docker容器的输入。

因此,步骤流将是:

  1. 运行Docker容器;
  2. 获取输出;
  3. 触发运行具有先前输出的第二个Docker容器。

我研究了Kubernetes,云功能和Google Cloud上的pub / sub。虽然我想先在本地运行。

不幸的是,我还没有找到解决方案,我的流程更像是脚本,而不是基于Web的应用程序。

2 个答案:

答案 0 :(得分:0)

如果您是从自动开发的角度来看的,则可以尝试使用kubectl wait命令。

  • 为每个容器(例如pod,Deployment或statefulset)准备yaml文件
  • 编写一个shell脚本,在文件上运行kubectl apply -f
  • 一旦状态为“就绪” /“运行中”,请使用kubectl waitjsonpath将信息从上一个容器中传递到下一个容器。

找到详细的文档here

答案 1 :(得分:0)

您可以查看Kubernetes Jobs。尽管Kubernetes并不是真正按顺序运行脚本并在容器之间共享依赖项,但它确实可以解决问题。
This thread与您所需要的相似。提到我感兴趣的一种工具是brigade