我有一个问题,我的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" ]
那为什么它显示错误的路径以及如何添加正确的路径?
答案 0 :(得分:1)
您的data.csv在您的Docker容器中不存在,因为您仅复制app.py。
ADD app.py /
将data.csv移至与app.py相同的目录,并将命令更改为。
COPY ["data.csv", "app.py", "/"]
如果那不起作用,请尝试。
COPY . .
使用这种方法,目录的每个文件都可以在容器内使用,因此data.csv必须存在。只要您将其保存在同一目录中即可。