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

Docker容器运行Python程序时无法读取resources目录文本文件的问题求助

解决Docker容器中无法找到resources文件的问题

你的问题根源出在Dockerfile里的COPY命令错误,导致资源文件没被复制到容器内的正确路径。我来一步步帮你排查修复:

问题拆解

你的Dockerfile有两处明显问题:

  1. 拼写错误:把resources写成了recources(少了一个字母s)
  2. 目标路径冗余:你已经通过WORKDIR /event_listener把容器的当前工作目录设为/event_listener,但还是写了event_listener/recources作为目标路径,这会把文件夹复制到/event_listener/event_listener/recources下,和你代码里期望的路径完全不匹配。

修复步骤

1. 修正Dockerfile的COPY命令

把错误的那行:

COPY resources event_listener/recources

替换成:

COPY ./resources ./resources

这行命令会把项目根目录下的resources文件夹完整复制到容器的当前工作目录(/event_listener)下,最终容器内的文件路径会是/event_listener/resources/chain_objects.txt,和你代码里写的resources/chain_objects.txt完全对应。

2. 重新构建并测试

执行命令重新构建镜像:

docker build --no-cache -t event_listener .

然后运行容器验证是否正常:

docker run event_listener

3. (可选)验证容器内的文件结构

如果还是不确定,可以先进入容器查看文件位置:

docker run -it --rm event_listener ls -la /event_listener/resources

你应该能看到chain_objects.txt文件出现在列表里。

补充说明

你的Python代码里的相对路径写法是正确的,因为容器的工作目录已经设为/event_listener,代码中的resources/chain_objects.txt会被自动解析为/event_listener/resources/chain_objects.txt,只要Dockerfile把文件复制到正确位置,就能正常读取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 12:18:12