docker - 在 docker 容器中使用文件 - windows

标签 docker keystore apache-servicemix

这是一个两部分的问题。

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 -

好的,所以我做了以下事情 -
  • 将 keystores 文件夹复制到 C 盘中的我的 Camel 项目中。路径现在是 - 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/

    相关文章:

    Mysql2::Error::ConnectionError:无法连接到 'mysql' 上的 MySQL 服务器 (111 "Connection refused")

    maven - 高级Docker和Dockerfile的卷/写出理解

    eclipse - 在 Eclipse : "keystoreFile" has no effect 上使用 SSL 设置 Tomcat

    apache-camel - 挂起 ActiveMQ 传输和连接线程

    apache-camel - 哪个 Java EE 容器适用于使用 EJB 的 Apache Camel/CXF/ActiveMQ Web 应用程序?

    docker - 波浪号扩展在 Docker COPY 命令中不起作用

    java - 从 SSLContext 中提取证书

    Java - System.setProperty javax.net.ssl.keyStore - 引用 Jar 中的 key 文件

    docker - Traefik/Docker:使用端口作为前端规则(而不是路径或子域)