首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用docker选项时--挂载目标文件夹被视为非绝对文件夹,而使用-v时则没有问题

使用docker选项时--挂载目标文件夹被视为非绝对文件夹,而使用-v时则没有问题
EN

Stack Overflow用户
提问于 2019-07-29 21:32:41
回答 2查看 1.4K关注 0票数 0

我正在使用docker,在使用--mount而不是-v挂载docker卷时遇到了一个问题。对我来说,弹出的错误似乎是无效的,但我可能在这里遗漏了一个小细节。

在--mount场景中,我希望将容器中创建的映像绑定到的路径不是绝对路径。

我在windows 10计算机上运行Docker

我拉出了jenkins/jenkins:lts镜像,想要启动两个使用相同配置的容器。正如前面所说的,我只是用它来玩弄docker,我正在探索音量系统是如何工作的。

我所做的是创建一个用于共享配置的docker卷。

代码语言:javascript
复制
docker volume create jenkins_cfg

然后我试着运行两个容器。第一个容器的开头是:

代码语言:javascript
复制
docker run -d -p 8081:8080 --name jenkins2 -v jenkins_cfg:/var/jenkins_home jenkins/jenkins:lts

这很好用..

第二个容器的开头是:

代码语言:javascript
复制
docker run -d -p 8085:8080 --name jenkin5 --mount source=jenkins_cfg,target=var/jenkins_home jenkins/jenkins:lts

这将导致出现错误:"C:\Program Files\Docker\Docker\Resources\bin\docker.exe:来自守护程序的错误响应:类型“卷”的装载配置无效:装载路径无效:'var/jenkins_home‘装载路径必须是绝对路径。请参阅“”C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help“”。“

另外,/var/jenkins_home不能正常工作。

虽然-v也要求使用相同的目标文件夹,但我假设这个文件夹也可以在--mount的目标选项中工作。也许,我在这里忽略了一些东西。

EN

回答 2

Stack Overflow用户

发布于 2019-07-29 22:49:42

我计算出目标文件夹的前面应该有//,这样docker命令看起来就像

代码语言:javascript
复制
docker run -d -p 8085:8080 --name jenkin5 --mount source=jenkins_cfg,target=//var/jenkins_home jenkins/jenkins:lts

仍然没有线索,为什么//必须添加,也许有人可以澄清这一点

票数 1
EN

Stack Overflow用户

发布于 2019-07-29 23:01:23

实际上,挂载绑定就像将物理磁盘卷的一部分挂载到容器中。但是卷就像虚拟内存,如果没有容器,就不能独立访问它们,但是绑定挂载可以独立访问

挂载绑定应该是主机中的绝对路径

希望这对你的事业有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57255004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档