在Docker容器中运行的Python脚本未将文件保存到正确的路径

时间:2019-06-12 03:47:55

标签: python docker ubuntu

我有一个在Docker容器(在Ubuntu 18.04上)中运行的python Flask应用程序,该容器应该将文件保存到本地Ubuntu目录中。另一个功能是读取这些文件。例如,目录可以是/ $ USER / home或/ root等。

我尝试使用“ docker run”命令的不同变体。似乎可以远程正常工作的是下一个。

docker run --privileged -v / dev / bus / usb:/ dev / bus / usb -v〜/:/ home -i -t --network = host mobile-forensics:latest

我用于保存文件的python函数如下。

def save_file(path):
    if not os.path.exists(path):
        os.makedirs(path)

读取文件的功能如下。

def read_file(path):
    with open(path, 'r') as stream:
     for line in stream:
         print(line)

问题是该应用程序应该将文件保存在代码中指定的路径上,但会将文件保存在错误的路径上。例如,如果我将路径指定为“ / home”,则不是将文件保存在“ / home”,而是将应用程序保存在诸如

“ / var / lib / docker / overlay2 / ee1c3c4947043a1475e41d93fdbcc2cbb76c34aa49a42d108ac743921ce36b6f / diff / home /..."

读取文件时普遍存在相同的问题。应用程序未从正确的路径读取它们。在此问题上的任何帮助,我们将不胜感激。

0 个答案:

没有答案