我有4个使用docker-compose文件运行的容器。这些容器中的一个“编排”其他容器工作,因此调用其他容器执行某些任务。
我的问题是,一旦所有其他容器完成并因此完成显示其自己的输出,该“编排”容器的输出将始终显示。
为了示例,容器的工作流程如下所示:
有没有一种方法可以强制输出按顺序显示?
答案 0 :(得分:1)
在附加的mod中运行docker-compose(没有-d标志以分离模式运行容器)时,您将实时从所有容器获取输出,并且无法对输出进行范围调整。
可能的解决方案是使用docker-compose文件中的设置禁用容器2、3、4中的所有日志:
logging:
driver: none
在这种情况下,您将仅获得Orchestrater容器的输出。 将容器拆分为不同的docker-compose文件的其他方法。一个将与协调器容器一起使用,第二将与其他容器一起使用。您可以运行带有定义文件的docker-compose:
docker-compose up -f orchestrater_docker_compose.yml
docker-compose up -f services_docker_compose.yml