首页 > 解决方案 > 从 docker 容器访问主机上的文件夹

问题描述

我有一个安装了 Jenkins 的 docker 容器。我安装了 Wix 工具集插件来为 MSI 包创建 CI/CD 管道

我需要提供主机上文件夹的路径

我试过这样,但码头工人看不到路径

在此处输入图像描述

我试图执行这个命令

docker jenkins-master  run -v C:\Program Files (x86)\WiX Toolset v3.11\bin

但是有同样的东西。哪里可能有问题?

更新

我试着这样做

docker run -d --name jenkins-master -v "/c/Program Files (x86)/WiX Toolset v3.11/bin":/downloads jenkins-master

并得到这个错误

无法在本地 docker 中找到图像“jenkins-master:latest”:来自守护进程的错误响应:jenkins-master 的请求访问被拒绝,存储库不存在或可能需要“docker login”:拒绝:请求的资源访问被拒绝。请参阅“docker run --help”。

这是我的容器列表

在此处输入图像描述

标签: dockerjenkinswixcontainers

解决方案


虽然可以在 Linux 上将卷添加到正在运行的容器中(请参阅这篇文章),但我不知道在 Windows 上执行此操作的任何方法,特别是因为 Linux 容器不直接在主机 Windows 机器上运行,而是在运行 Linux 的虚拟机中。此虚拟机通常只能访问C:\Users(安装为/c/Users)而不能访问C:\Program Files (x86)

您最好的选择是编辑 VM 以授予它访问权限C:\Program Files (x86)\WiX Toolset v3.11(具体方法取决于您是使用 Docker Toolbox 还是 Docker for Windows),销毁您的 Jenkins 容器并使用正确安装的目录重新创建。

话虽如此,我不相信 Jenkins 的 Linux 安装将能够使用 Windows Wix 二进制文件。最好的解决方案是将您的 Windows 主机变成运行整个构建的 Jenkins 从站。


推荐阅读