这是一个两部分的问题。
1)在windows中,除了C盘以外的任何盘的文件夹可以共享吗?在网上冲浪时,我发现默认情况下只有 C 盘可以挂载到 docker 容器中。 (C盘用户文件夹)
2)现在进入主要部分 - 我正在开发一个使用配置文件的 Camel 项目。在这个配置文件中,我为 使用了两个参数。服务组合 keystore 文件。现在以前的 keystore 位于路径 - D:\sandboxes\apache-servicemix-7.0.0.M3\apache-servicemix-7.0.0.M3\etc\keystores
.
我尝试提供此路径,但导致错误-
File not found
我将 keystore 文件夹复制到
C:\Users
然后给出路径C:\Users\keystores
但错误保持不变。现在在运行
docker run
命令,我已经在映射我的 Camel 项目所在的卷 - docker run -v //C/Users/camelproject:/app ...
那么,是否可以使用
-v
从两个驱动器挂载不同的文件夹?选项?另外我应该怎么做才能在我的项目中使用这些 keystore 文件?编辑 1 -
好的,所以我做了以下事情 -
C:/Users/camelproject/src/main/resources/keystores
keyStore=C:/Users/camelproject/src/main/resources/keystores/client.ks
camelcontext.xml
中使用这个文件如- <property name="keystore" value="${keyStore}" />
docker run -v //C/Users/camelproject:/app -v //C/Users/camelproject/src/main/resources:/app/config ...
然后在配置文件中交替给出 Windows 和容器路径作为值,但对于两者它给出了相同的错误。 所以基本上应该找到文件,但错误来了。
最佳答案
So, is it possible to mount two drives using -v option?
不,这是不可能的,您需要为不同的目录使用多个 -v 选项。
带有 Windows 卷安装的 Docker 存在一些问题,它不允许在路径中使用“-”选项。 (例如 C:/camel-project )
并且始终不使用/斜线。
此处进行了更多相关讨论。
https://forums.docker.com/t/volume-mounts-in-windows-does-not-work/10693/7
关于docker - 在 docker 容器中使用文件 - windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47881040/