docker - 为什么docker-compose非顺序打印容器输出
问题描述
我有 4 个使用 docker-compose 文件运行的容器。其中一个容器“协调”其他容器工作,因此调用其他容器来执行某些任务。
我的问题是,一旦所有其他容器完成并因此完成显示它们自己的输出,就会始终显示此“协调者”容器的输出。
例如,容器的工作流程如下所示:
- 编排器容器
- 集装箱 2
- 编排器容器
- 集装箱 3
- 编排器容器
- 集装箱 4
- 编排器容器
有没有办法强制按顺序显示输出?
解决方案
当您在附加的 mod 中运行 docker-compose 时(没有 -d 标志以分离模式运行容器),您将实时获得所有容器的输出,并且无法范围输出。
可能的解决方案是使用 docker-compose 文件中的设置禁用容器 2、3、4 中的所有日志:
logging:
driver: none
在这种情况下,您将仅获得编排器容器的输出。将此容器拆分为不同 docker-compose 文件的其他方法。一个将与编排器容器一起使用,第二个将与其他容器一起使用。您可以使用定义文件运行 docker-compose:
docker-compose up -f orchestrater_docker_compose.yml
docker-compose up -f services_docker_compose.yml
推荐阅读
- android - 如何在后台线程上初始化 Hilt 图?
- google-apps-script - 在谷歌表格上发送基于触发器的电子邮件会给出一些我不明白的随机结果
- javascript - 点击后如何停止或暂停点击事件一段时间?
- python - 当我运行我的 Flask 应用程序时,我的本地主机之外的人可以 ping 通它吗?
- python - Python - 关于卷积神经网络的 Tensorflow 建议
- elasticsearch - Kibana 仪表板用户控制更新 Elasticsearch 文档
- java - Spring Security,使用 http basic 保护特定的 api 路径,其他使用 discord ouath2
- python - RuntimeError: mat1 dim 1 必须匹配 mat2 dim 0
- java - 为什么我的 Spring 应用程序在我的 application.yml 中找不到它们的键?
- c++ - 计数对象实例,在静态变量 C++ 上出现未定义的引用错误