在Docker容器中使用文件 – 窗口

这是一个两部分的问题。

1)在Windows中,除了C驱动器可以共享一个文件夹形成任何驱动器? 在浏览互联网时,我发现默认情况下只有C驱动器可以安装在docker集装箱中。 (C盘的用户文件夹)

2)现在来到主要部分 – 我正在一个骆驼项目,我正在使用一个configuration文件。 在这个configuration文件中,我为Servicemix密钥库文件使用了两个参数。 现在,以前密钥库位于path – D:\sandboxes\apache-servicemix-7.0.0.M3\apache-servicemix-7.0.0.M3\etc\keystores

我试图给这条路,它导致错误 –

文件未find

我将密钥库文件夹复制到C:\Users ,然后提供pathC:\Users\keystores但错误保持不变。

现在,当运行docker run命令时,我已经映射了我的骆驼项目所在的卷 – docker run -v //C/Users/camelproject:/app ...

那么,是否可以使用-v选项从两个驱动器安装不同的文件夹? 另外我该如何在我的项目中使用这些密钥库文件?

编辑1 –

好吧,我做了以下的事情 –

  • 复制keystores文件夹到C驱动器中我的骆驼项目。 现在path是 – C:/Users/camelproject/src/main/resources/keystores
  • 在configuration文件中将此path用作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 ...然后在config文件中给出这两个,Windows和容器path,作为价值,但两者都给了相同的错误。

所以基本上应该find文件,但错误即将到来。

那么,是否可以使用-v选项安装两个驱动器?

不,这是不可能的,你需要使用多个-v选项用于不同的目录。

Docker与Windows卷装有一些问题,它不会允许在path中的“ – ”选项。 (例如C:/ camel-project)

并且总是使用/斜线不是。

更多的相关讨论在这里完成。 https://forums.docker.com/t/volume-mounts-in-windows-does-not-work/10693/7