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

Python脚本运行完成后如何从Docker容器中获取/result目录内容?

解决方案

方案1:绑定挂载宿主机目录到容器/result路径(最推荐)

直接在启动命令中添加-v参数将宿主机本地目录映射到容器内的/result目录,容器内生成的结果会直接写入宿主机,不需要额外拷贝操作,容器是否退出、是否加--rm参数都不影响结果留存。
命令示例:

# 把/path/host/result替换成你宿主机上要存结果的实际路径
# Windows环境宿主机路径调整为盘符开头格式即可,例如-v D:\my-result:/result
docker run --rm -v /path/host/result:/result imgTest --arg=hello --argTwo=world

执行完成后直接去宿主机的对应目录下拿结果即可。

方案2:保留退出容器手动拷贝

去掉启动命令中的--rm参数,容器执行完成退出后不会被自动删除,你可以直接从停止的容器中拷贝目标目录。
操作步骤:

  • 调整启动命令运行容器:
# 给容器指定一个固定名称方便后续操作,也可以后续用容器ID操作
docker run --name temp-result-container imgTest --arg=hello --argTwo=world
  • 容器执行完成退出后执行拷贝命令:
docker cp temp-result-container:/result ./local-result-path
  • 拷贝完成后手动删除残留的停止容器:
docker rm temp-result-container

方案3:延长容器运行时间预留拷贝窗口

如果需要保留原来的运行逻辑,只是临时需要拷贝结果,可以覆盖启动命令,在脚本执行完成后加一段sleep时间,在时间窗口内执行拷贝即可。
命令示例:

# sleep 300代表预留5分钟操作时间,可自行调整时长
# 注意将python /path/your/script.py替换为你镜像内实际的脚本启动命令
docker run --name temp-container imgTest sh -c "python /path/your/script.py --arg=hello --argTwo=world && sleep 300"

打开另一个终端,等待脚本执行完成后执行拷贝:

docker cp temp-container:/result ./local-result-path

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 23:48:04