You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用docker-java客户端的stopContainerCmd时如何设置容器停止超时时间

解决方案

docker-java 提供的StopContainerCmd本身支持配置停止超时时间,可通过链式调用withTimeout()方法设置,参数单位为秒,和Docker CLI的-t/--time参数逻辑完全一致:指定容器收到SIGTERM信号后,最多等待多少秒还未正常退出的话,就发送SIGKILL强制终止。

代码示例

修改你的调用代码,在执行exec()前追加超时配置即可:

// 示例:设置停止超时为15秒,可根据业务需求调整参数值
dockerClient.stopContainerCmd(containerId)
    .withTimeout(15)
    .exec();

低版本兼容方案

如果你使用的docker-java版本过旧,没有提供withTimeout()方法,可通过手动实现超时逻辑达成相同效果:

  • 调用killContainerCmd向容器发送SIGTERM信号
  • 等待你设置的超时时长
  • 查询容器状态,如果还处于运行状态,再调用killContainerCmd发送SIGKILL信号强制终止

内容的提问来源于stack exchange,提问作者codenewbie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 20:36:00