在Docker上向/从主机系统写入和读取文件

问题描述 投票:0回答:2

语境:

我有一个Java Spring Boot应用程序,它已部署在Docker Container上运行。我使用Docker Toolbox是准确的。该应用程序公开了一些REST API来上传和下载文件。该应用程序在Docker上运行正常,即我可以使用API​​上传和下载文件。

问题:

  1. 在应用程序中,我将路径硬编码为“C:\ SomeFolder”。这个存储在Docker容器上的位置是什么?
  2. 在Docker上运行时如何强制应用程序使用Host文件系统而不是Docker的File系统?
docker filesystems
2个回答
-1
投票

这一切都是由Docker Volumes完成的。

在Docker文档中阅读更多相关内容:

https://docs.docker.com/storage/volumes/


-1
投票

在应用程序中,我将路径硬编码为“C:\ SomeFolder”。这个存储在Docker容器上的位置是什么?

c:\SomeFolder,假设你有一个Windows容器。但是,这是您通常通过命令行选项或环境变量设置的参数类型。

在Docker上运行时如何强制应用程序使用Host文件系统而不是Docker的File系统?

使用docker run -v选项或等效选项从该位置的主机安装某个目录。无论主机上该目录的内容是什么,都将在启动时替换容器中的内容,之后主机中的更改应反映在容器中,反之亦然。

如果您有机会重新考虑此设计,那么围绕文件所有权等存在许多潜在的问题。解决这些问题的最简单方法是将数据存储在某个地方,例如数据库(可能在Docker中运行,也可能不运行),并使用网络I / O向容器发送数据或从容器发送数据,并尽可能少地存储在容器中。容器文件系统。 docker run -v是一种很好的方法,可以在典型的面向服务器的用途中注入配置文件并获取日志文件。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.