gpt4 book ai didi

docker - 与 ENTRYPOINT 相反的命令

转载 作者:行者123 更新时间:2023-12-02 19:06:09 25 4
gpt4 key购买 nike

有没有办法使用 Dockerfile 在容器停止时运行命令?或在 docker-compose.yml使用 Docker 撰写?本质上,我想要一个在容器导出上运行的命令(与 ENTRYPOINT 相对)。

最佳答案

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

#!/bin/sh
echo "BEFORE"
"$@"
STATUS=$?
echo "AFTER"
exit $STATUS

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

另请注意,这需要您将“正常”进程作为 CMD 运行,但出于这样的原因,我倾向于认为在任何情况下都是更好的做法。你的 Dockerfile 看起来像
...
COPY entrypoint.sh /
ENTRYPOINT ["/entrypoint.sh"]
CMD ["whateverd", "--foreground"]

关于docker - 与 ENTRYPOINT 相反的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51919217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com