python - 在 Docker 容器中运行的 Python 脚本未将文件保存到正确的路径
问题描述
我有一个在 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/...”
读取文件时,同样的问题很普遍。该应用程序没有从正确的路径读取它们。我将不胜感激有关此问题的任何帮助。
解决方案
推荐阅读
- python - 使用 python 抓取网站(无表单,会话 cookie)
- python - 如何从全局 python 环境创建 conda 环境?
- excel - 使用嵌套 For 循环的替代方法是什么?
- python-3.x - python中的模运算符(%)
- reactjs - 如何在不添加到现有网址的情况下使用带有代理的 axios 获取请求?
- excel - 对具有可变列数的列中的数据进行排序
- java - 在firebase中检索带有ID的嵌套数据?
- python-3.x - 如何在 Python 中修改列表?
- python - 处理具有 unicode 字符串键的字典
- php - 允许客户在 WooCommerce 我的帐户中更改订单状态