1. 单容器批量执行
1.1 Shell 串联多条命令
一次性传入一组命令,顺序执行,执行完容器自动销毁,适合短平快的批量任务。
1.2 挂载脚本目录,执行入口脚本
适合逻辑复杂、包含多个脚本文件的场景。把本地脚本目录只读挂载进容器,执行入口脚本。
2. 长驻容器 + 多次 exec
Agent 多轮对话的标准方案:启动一个后台容器,多次注入命令,全程共享文件系统和环境,会话结束销毁。
3. 进阶:保留解释器内存状态
上面的 exec 模式每次都是新进程,只能共享文件,无法共享 Python 内存变量。下面两种方案实现同一个 Python 解释器进程内执行多段代码,变量、函数、导入的库全程保留。
3.1 容器内跑轻量 HTTP 代码执行服务
容器内启动一个极简 HTTP 服务,接收代码片段执行并返回结果。稳定性好,是工业界常用方案。
3.2 交互式进程通信(stdin 管道)
通过 docker exec -i 保持一个 python -i 交互式进程常开,持续往 stdin 注入代码,全程复用同一个解释器进程。开销最小,无需网络。