docker - 从 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”。
这是我的容器列表
解决方案
虽然可以在 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 从站。
推荐阅读
- unity3d - Zenject Unity 测试场景 - 如何导航下一个场景,将容器正确更新到新的 SceneContext?
- php - SQL表中的PHP/SQL双下拉
- django - Apache2 服务器上的 PIL 模块 ImportError
- ruby-on-rails - 我可以在头部写一个静态资源链接吗?
- python - OSError: cannot identify image file <_io.BytesIO object at ...> 尝试使用 Keras 模型进行预测时
- loops - 如何在 Postman 中使用不同的客户对象数据循环 JSON 请求?
- java - 即使我输入错误的密码并且文件未保存在服务器上,我也总是得到 Server Response ok 200
- ruby-on-rails - Rails:在 has_and_belongs_to_many 关联中,collection_singular_ids= 方法的返回类型和值是什么?
- database - RDF / 三重存储是否适合存储应用程序数据?(与图元数据相反)
- qt - 允许通过 QT 中的多点触控同时按下多个按钮