bash - 服务关闭时重新尝试 docker-compose logs -f 吗?
问题描述
我经常发现自己为开发目的制作 docker-compose 环境。
然而,当我启动我的服务时必须做的一件烦人的事情是每次所有服务都关闭时docker-compose up -d
必须运行。docker-compose logs -f
我希望能够运行一个尝试运行的脚本,docker-compose logs -f
然后一旦成功,就可以正常运行。然后一旦服务关闭,继续重试运行,直到它们再次启动。
这有意义吗?我已经尝试过使用watch
,但这并不是我想要的行为,并且尝试使用 sleep 命令的循环也不会产生任何有用的结果。
解决方案
如果要循环运行命令,只需:
while sleep 1; do docker-compose logs -f; done
它将每秒运行docker-compose logs -f
一次。
watch
每个周期都会清除屏幕,因此您不会看到所有消息。
推荐阅读
- javascript - Array.prototype.sort() 只有一个字符串的返回语句
- python-2.7 - 在 numpy 矩阵中交换时出现“形状不匹配错误”
- excel - XML -> 使用编码 UTF-8 的 XSLT 不适用于 Microsoft Excel - 为什么?
- python - numpy 使用前一行的乘积值作为输入,将行与数组的后续行相乘
- php - 数组 PHP 中的多个条件
- python - if not 3 in [1,2,4,5]: 和 if 3 not in [1,2,4,5] 有什么区别?
- qt - 将视频从 QByteArray 保存到 MP4 QT/C++
- sql - 如何将包含列表的变量传递给动态 SQL 查询?
- angular - 如何绑定 ion-datetime picketFormat?
- django - TemplateColumn 中的 django-tables2 权限