首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与入口点相反的命令

与入口点相反的命令
EN

Stack Overflow用户
提问于 2018-08-19 23:34:38
回答 1查看 117关注 0票数 1

有没有一种方法可以使用Dockerfile或在docker-compose.yml中使用Docker Compose在容器停止上运行命令?本质上,我想要一个在容器退出时运行的命令(与ENTRYPOINT相反)。

EN

回答 1

Stack Overflow用户

发布于 2018-08-19 23:45:10

当然,入口点可以做到这一点。它将CMD作为命令行参数。通常,您的入口点脚本在完成设置后会想要exec "$@"来运行CMD,但是如果您愿意承担作为进程ID 1的责任,您可以将CMD作为一个子进程运行,然后再做一些事情。

代码语言:javascript
复制
#!/bin/sh
echo "BEFORE"
"$@"
STATUS=$?
echo "AFTER"
exit $STATUS

请注意,由于您的文件系统即将消失,您在终止时可以做的事情非常有限。

还请注意,这需要您以CMD的身份运行您的“正常”进程,但出于这样的原因,我倾向于认为这在任何情况下都是更好的实践。您的Dockerfile将如下所示

代码语言:javascript
复制
...
COPY entrypoint.sh /
ENTRYPOINT ["/entrypoint.sh"]
CMD ["whateverd", "--foreground"]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51919217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档