使用 docker-compose 在容器停止之前执行脚本

Ane*_*oli 6 docker-compose

假设我想在触发容器终止时执行清理脚本。我该如何使用 docker-compose 来解决这个问题?

这可以方便地自动备份开发容器的文件、数据库等。

acr*_*ran 4

docker容器应该是短暂的

“短暂”是指容器可以被停止和销毁,然后重建并用绝对最小的设置和配置替换。

建立在这个概念docker本身之上并没有提供任何与关闭过程挂钩的东西。docker-compose是建立在之上docker并且也没有添加此类功能。

也许您可以重新思考您的问题docker更好地适应docker. 如果没有进一步的背景,很难说什么可能是一个好的解决方案,但也许以下方法之一可以帮助您:

  • docker stopSIGTERM向容器中的主进程发送信号。您可以使用自定义入口点或主管进程来触发SIGTERM. 这种方法需要自定义容器。使用该stop_signal属性,您还可以配置要在您的docker-compose.yml

  • 如果您只想保留容器中的数据文件,只需配置正确的内容volumes就足够了

  • 您可以用来docker events侦听由docker daemon

  • @AneeshPanoli 您为此找到了什么解决方案(如果有)? (2认同)