docker不正常停止,我怎么让它“告诉”我(使用邮件或其他人)
当dockerexception停止,我们不能第一次find它。
有什么方法可以通过邮件或其他方式发送给我吗?
我使用造船厂来pipe理它,但它有这个function。
我可以find一种方法来监视docker不小心停止并发送通知给用户吗?
Docker引擎有一个事件子系统,您可以将其提供给CLI或任何Docker API客户端。
最简单的访问方式是通过cli命令: docker events
。 你得到了很多事情的事件,你可能感兴趣的container
事件是die
但也kill
, oom
, pause
,并stop
和start
处理生命周期。 die
事件包含一个exitCode
和其他元数据。
以下事件日志来自docker run debian sleep 180
。
- 按ctrl -c尝试中断是
kill signal=2
- 运行
docker stop
发送kill signal=15
- 10秒钟后
docker stop
超时并发送docker stop
kill signal=9
- 然后,容器与
exitCode=137
死亡
事件日志:
→ docker events \ --filter event=start \ --filter event=stop \ --filter event=kill \ --filter event=die \ --filter event=oom \ --filter event=pause 2017-09-27T05:28:22.911051215Z container start bb9998ef9ce04930588760edfbe3da0c3d505980df333906ae5fa1bcf847726e (image=debian, name=mystifying_fermi) 2017-09-27T05:28:25.852465665Z container kill bb9998ef9ce04930588760edfbe3da0c3d505980df333906ae5fa1bcf847726e (image=debian, name=mystifying_fermi, signal=2) 2017-09-27T05:28:42.500055815Z container kill bb9998ef9ce04930588760edfbe3da0c3d505980df333906ae5fa1bcf847726e (image=debian, name=mystifying_fermi, signal=15) 2017-09-27T05:28:52.502913619Z container kill bb9998ef9ce04930588760edfbe3da0c3d505980df333906ae5fa1bcf847726e (image=debian, name=mystifying_fermi, signal=9) 2017-09-27T05:28:52.603362125Z container die bb9998ef9ce04930588760edfbe3da0c3d505980df333906ae5fa1bcf847726e (exitCode=137, image=debian, name=mystifying_fermi) 2017-09-27T05:28:53.028998070Z container stop bb9998ef9ce04930588760edfbe3da0c3d505980df333906ae5fa1bcf847726e (image=debian, name=mystifying_fermi)
有一个pypi包docker-event-scripts ( github )让你运行一个类别/事件的脚本。 它基于相当广泛使用的docker-py
库。
这正是文章“ Docker容器遇到问题时得到警报 ”
它build议不要使用普罗米修斯(有点矫枉过正),但监控docker – 松弛