Docker'exportpoint' - 在容器被“关闭”或“停止”之前运行一个命令?

时间:2018-01-28 11:22:33

标签: linux shell docker

为什么呢?因为我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。那里也没有雪茄。

1 个答案:

答案 0 :(得分:1)

使用minit作为入口点。它在容器启动时运行/ etc / minit / startup,在容器停止时运行/ etc / minit / shutdown。