【发布时间】:2018-01-28 11:22:32
【问题描述】:
为什么?因为我propagating binds 允许容器挂载联合文件系统,并且当它退出时,它会留下混乱。 fusermount -uz /mount/point 清理它,所以我希望它在退出时发生。
有没有办法为 Docker 容器提供诸如退出点或退出命令之类的东西?
我尝试将; echo EXITING ; myexitcmd 附加到入口点,现有命令正在长时间运行,但它似乎没有运行。
这完全有道理,因为正在运行的是sh -c "myentrycmd; echo EXITING; myexitcmd",而被杀死的是那个shell,而不是其中的myentrycmd。
因此,解决方案不必是特定于 Docker 的,我也可以提出我的问题:如何捕获所有“退出”信号,并首先/代替完成运行我的(内联)脚本?
我也尝试过作为入口点:
#!/bin/sh
cleanup() {
echo EXITING
myexitcmd
}
trap 'cleanup' INT
myentrycmd
在 Dockerfile 中使用 STOPSIGNAL SIGINT。那里也没有雪茄。
【问题讨论】: