gpt4 book ai didi

java - Docker 命令不返回正确的退出代码

转载 作者:行者123 更新时间:2023-12-02 11:36:04 26 4
gpt4 key购买 nike

我正在使用 docker 命令行来执行 java 应用程序。我的java应用程序根据执行结果返回不同的退出。

例如,如果出现错误,我的 java 程序会以 101 退出如果成功,我的 java 程序会以 0 退出

当我从 eclipse 运行此应用程序时,我可以看到该应用程序退出并带有上面指定的代码。

但是,当我从 docker 运行相同的应用程序时,我总是会得到退出代码 127,以防我的程序出错。对于成功场景,docker 命令正确地将退出代码显示为 0(零)

我用谷歌搜索但找不到答案。谁能告诉我为什么会发生这种情况以及对此的解决方法。

详情如下:我的 docker 命令:

dzdo docker run myapp:28 java -jar myapp.jar

我使用以下命令来检查退出状态代码:

echo $?

谢谢

最佳答案

docker的退出状态是命令的退出状态,或者是代码125或更高,表示docker中出现了问题,命令无法调用,或者命令因信号而终止。

参见:https://docs.docker.com/engine/reference/run/#exit-status

退出代码127表示docker无法找到该命令。如果您确定可以找到您的命令,那么通过排除,我们可以得出另一种选择:

dzdo 命令正在更改您的退出代码。

不幸的是,我可以在 dzdo 上找到描述它使用的退出代码的文档。

尝试在没有 dzdo 的情况下运行 docker(如果可能的话,首先成为目标用户),看看它是否在没有 dzdo 的情况下给出正确的退出代码 - 或者使用 dzdo 运行一个脚本,a) 运行 docker,b) 打印退出代码

关于java - Docker 命令不返回正确的退出代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48920670/

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