Python在Docker容器中找不到文件

时间:2018-11-02 10:19:50

标签: python docker ubuntu file-handling

我有一个问题,我的python程序没有 在Docker容器中的ubuntu中找到给定的文件夹。

首先,我构建了我的docker容器,然后运行了它,直到我的程序找不到文件为止,这没有问题。我正在使用Ubuntu Core 16和Docker在Raspberry pi上启动我的python文件。

我发现了类似的问题here,并尝试了解决方案:

with open(os.path.join(os.path.expanduser('~'), 'SearchFiles', 'data.csv'), 'r') as csvfile:

但是现在我得到了错误:

No such File or directory: 'root/Searchfiles/data.csv'

但是程序是文件夹〜/ usr / git / MVP-Project / Searchfiles / data.csv

用于启动映像的Dockerfile:

FROM python:3.6
ADD app.py /
RUN pip install numpy
RUN pip install requests
RUN pip install fake_useragent
RUN pip install datetime
RUN pip install selenium
RUN pip install requests_html
CMD [ "python", "./app.py" ]

那为什么它显示错误的路径以及如何添加正确的路径?

1 个答案:

答案 0 :(得分:1)

您的data.csv在您的Docker容器中不存在,因为您仅复制app.py。

ADD app.py /

将data.csv移至与app.py相同的目录,并将命令更改为。

COPY ["data.csv", "app.py", "/"]

如果那不起作用,请尝试。

COPY . .

使用这种方法,目录的每个文件都可以在容器内使用,因此data.csv必须存在。只要您将其保存在同一目录中即可。