动机:通过计算特定数量的消息在特定时间范围内流过stdout来对docker容器运行基本运行状况检查
直接目标:从启动的shell中docker exec,读取正在从主进程传输到stdout的数据(PID 1)
我甚至不确定我想要的是否可能.如果是这样的话,那么为什么不能得到解释将会非常感激 - 并且有助于提升我的知识.
重现步骤:
启动容器 - container1
docker run -it --name container1 ubuntu bash -c -i "COUNT=0; while true; do echo Keep the dance floor beat going; ((COUNT++)); sleep 1; echo \"Count is: \${COUNT}\"; done;"
在另一个终端窗口中,docker exec在同一容器中启动另一个进程
docker exec -it container1 bash
我可以通过PID 1 以某种方式tail/ print/ read通过stdout传递消息吗?
我知道有一些工作 - 例如通过管道tee或以其他方式写入磁盘 - 但希望有一个神奇的子弹.