maven - 如何确定 docker exec 中的命令何时完成

标签 maven go docker

我目前正在使用 Docker Rest API 在容器上运行 exec 命令以开始构建 Maven 项目。我想知道 Docker 是否提供了任何方法来确定附加到 exec cmd 的 cmd 何时完成,或者我是否需要开始发挥创造力

最佳答案

来自exec api spec如果您没有将 detach 设置为 true,则网络套接字应在命令完成后关闭。如果你确实与 exec 分离,那么你可以使用 exec inspect api并轮询 Running 是否为 false。

如果您正在使用 exec api 来运行交互式 shell,并且在不关闭标准输入的情况下将命令作为 shell 的输入运行,那么该 shell 将挂起,就像您在 docker 之外运行它一样。您可以将 stdin 关闭到 shell,或者如果这不是一个选项,您将需要“发挥创意”。

关于maven - 如何确定 docker exec 中的命令何时完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41948271/

相关文章:

javascript - 从/到 Javascript 字符串从 Go int64/uint64 序列化反序列化

docker - 尽管有 docker 容器的随机外部端口,但仍使用 Eureka

java - 新建maven项目

java - Maven 依赖项在 WEB-INF/lib 中不可见

java - sikuli 找不到图像文件

docker - 当有多个摘要的标签时,docker pull 如何工作(对于 os/arch)

amazon-web-services - AWS EB Deploy 在部署后显示缺少 Dockerrun.aws.json

java - 在 Eclipse 中运行 JAR "Export"时使用的 shell 命令是什么?

arrays - 在 Go 中解码 JSON 数组

mongodb - 如何更新文档中数组中的字段