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

使用Docker Python SDK创建容器立即退出无日志,该如何解决?

错误原因

命令行执行docker run时使用了-it参数,该参数的作用是分配伪终端、开启标准输入交互,但你调用Docker Python SDK的containers.run方法时未传入对应配置。
你使用的Ubuntu类镜像默认启动命令为bash,当没有伪终端支持、也没有前台常驻任务执行时,bash进程会直接终止,导致容器随之退出,因此不会生成错误日志。

解决方法

有两种可选方案,可根据使用场景选择:

方案1:开启伪终端和交互模式(和命令行-it效果完全一致)

调用containers.run时新增tty和stdin_open参数:

client.containers.run(
    image='ubuntu-18_04-cee_st_tools_docker_img-3_6',
    name="myCont",
    detach=True,
    tty=True,          # 对应命令行`-t`参数,分配伪终端
    stdin_open=True    # 对应命令行`-i`参数,开启标准输入交互
)

方案2:指定前台常驻启动命令

如果不需要和容器交互,可直接指定一个长期运行的前台命令,也能保持容器运行:

client.containers.run(
    image='ubuntu-18_04-cee_st_tools_docker_img-3_6',
    name="myCont",
    detach=True,
    command=["sleep", "infinity"]  # 前台执行sleep命令,长期运行
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 09:15:02