bash - 停止 Docker 容器时运行清理脚本
问题描述
我的 Dockerfile 看起来像这样:
FROM ubuntu:latest
# ... there is more
ENTRYPOINT ["/root/startup.sh"]
CMD ["choose_random"]
startup.sh
如果用户未提供任何参数,则使用默认参数调用so 。
我startup.sh
的是这个:
#!/bin/bash
# init database etc.
python3 /root/boot.py $1
# snmpd
/usr/sbin/snmpd -f -Lo &
# logger
tail -f /var/log/mylog.log
现在我想在收到cleanup.py
a 时简单地调用SIGTERM
。我看到了一些例子,但我对 bash 语法的了解太少,无法真正理解并转移到我的情况。我知道我需要一个 SIGTERM 陷阱,但我实际上如何调用清理脚本等待它完成?
提前致谢!马库斯
解决方案
你试过这个方法吗?
如果它有效,您只需更改函数内部的内容即可调用您的清理脚本。
推荐阅读
- r - 我可以定义从 S3 泛型中调度多个参数的 S4 方法吗?
- c++ - 如何将 SOCKADDR_STORAGE 地址与 int[6] mac 数据进行比较?
- google-maps - 谷歌地图标记未从 Firebase 显示
- rest - 无法提取结果集;嵌套异常是 org.hibernate.exception.GenericJDBCException: could not extract ResultSet
- node.js - 将不同的反应包合并到一个包中
- tmux - byobu 会话名称以下划线开头
- python-3.x - 检查字典中是否有特定值,并在匹配值之后插入一个新项目
- java - 打开隐身窗口并转到 URL 的 Java 代码是什么?
- jenkins - 如何获取 Jenkinsfile 名称或路径?
- r - 我如何理解“选择”和“包含”的组合?