我有一个在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 /..."
读取文件时普遍存在相同的问题。应用程序未从正确的路径读取它们。在此问题上的任何帮助,我们将不胜感激。