【问题标题】:Save Docker container file to host filesystem将 Docker 容器文件保存到主机文件系统
【发布时间】:2021-04-04 03:56:02
【问题描述】:

我有一个运行 Python 应用程序并生成文件的 Docker 容器。 我想将此文件保存在我的本地文件系统中,而不是在容器执行结束时丢失它。

在阅读了 Docker 中有关卷和数据存储的其他帖子和文档后,我尝试以不同的方式解决它,例如:

使用卷(之前创建的):

 docker run --name my_container -v my_volume:/container_file_path my_container

我在这里遗漏了一些东西,因为我知道我在任何时候都没有引用主机的路由。

或者直接引用主机路径和容器路径(使用这个选项我在使用绝对或相对路径时也遇到了一些问题):

docker run --name my_container -v host_path:container_file_path my_container

我还尝试了上述命令的一些其他“变体”(--mount 代替 -v,更改目标/源值等)但我无法让它工作。

我正在使用适用于 Linux 的 Windows 子系统 (WSL),我读过这可能是问题的原因。

你能指导我做错什么吗?谢谢!

【问题讨论】:

  • 我猜第二个命令应该可以正常工作,只需在映射目录时将绝对路径放入host_path。

标签: docker


【解决方案1】:

绑定安装卷的第二个选项对我来说听起来不错。您确实需要使用绝对路径,但您可以使用例如$(pwd) 让它更简单。

【讨论】:

  • 正如 Christian 和 @oli 发布的那样,第二个命令是正确的,我的问题来自 Dockerfile WORKDIR、我在 Python 应用程序中用于保存文件的路径和在第二个命令中的 :container_file_path 参数。仔细检查这些路径后,一切正常。
猜你喜欢
  • 1970-01-01
  • 2019-09-08
  • 2017-04-16
  • 1970-01-01
  • 2020-03-12
  • 2015-10-05
  • 2014-03-29
相关资源
最近更新 更多