- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 docker-compose 来管理多容器应用程序。其中 1 个容器需要访问主机上目录的内容。
根据有关 docker 和 docker-compose 的各种文档来源,这看起来很简单,但我正在努力让它工作。
event_processor:
environment:
- COMPOSE_CONVERT_WINDOWS_PATHS=1
build: ./Docker/event_processor
ports:
- "15672:15672"
entrypoint: python -u /src/event_processor/event_processor.py
networks:
- app_network
volumes:
- C/path/to/interesting/directory:/interesting_directory"
运行这个我得到错误信息:
ERROR: Named volume "C/path/to/interesting/directory:/interesting_directory:rw" is used in service "event_processor" but no declaration was found in the volumes section.
这里不是这种情况。
我上面链接的 docker-compose 文档有一个例子,它似乎完全符合我的需要:
version: "3.2"
services:
web:
image: nginx:alpine
ports:
- "80:80"
volumes:
- type: volume
source: mydata
target: /data
volume:
nocopy: true
- type: bind
source: ./static
target: /opt/app/static
networks:
webnet:
volumes:
mydata:
但是当我尝试时,我得到了关于语法的错误:
ERROR: The Compose file '.\docker-compose.yaml' is invalid because: services.audio_event_processor.volumes contains an invalid type, it should be a string
所以我试着一起玩:
volumes:
- type: "bind"
source: "C/path/to/interesting/directory"
target: "/interesting_directory"
错误:撰写文件 '.\docker-compose.yaml' 无效,因为:services.audio_event_processor.volumes 包含无效类型,它应该是一个字符串
又是同样的错误。
我也尝试了以下方法:
volumes:
- type=bind, source=C/path/to/interesting/directory,destination=/interesting_directory
没有错误,但附加到正在运行的容器,我看到以下两个文件夹;
type=bind, source=C
所以看起来我可以用 1 个字符串创建多个卷(尽管在这种情况下正斜杠正在切割字符串)但我没有将它映射到主机目录。
我已经阅读了文档,但我觉得我遗漏了什么。有人可以发布一个将 windows 目录从主机挂载到 linux 容器的示例,以便可以从容器中获得 windows 目录的现有内容吗?
最佳答案
好的所以这里有多个问题:
1.
我有
version: '3'
在我的 docker-compose.yml 的顶部。长语法 described here直到 3.4 才实现,所以当我将其更新为以下内容时,我不再收到奇怪的语法错误:
version: '3.6'
2.
我在 2 台 Windows PC 上使用我的 docker 帐户。根据另一个 stackoverflow 帖子的提示,我将 Docker 重置为出厂设置。我必须向 docker 提供计算机用户名和密码,并注意这是访问本地文件系统内容所必需的——此时我记得在另一台 PC 上这样做过,所以我不确定凭据是否正确.使用当前 PC 的正确凭据,我能够绑定(bind)挂载具有预期结果的卷,如下所示:
version: '3.6'
event_processor:
environment:
- COMPOSE_CONVERT_WINDOWS_PATHS=1
build: ./Docker/event_processor
ports:
- "15672:15672"
entrypoint: python -u /src/event_processor/event_processor.py
networks:
- app_network
volumes:
- type: bind
source: c:/path/to/interesting/directory
target: /interesting_directory
现在它按预期工作。我不确定是恢复出厂设置还是更新的凭据修复了它。我会在明天使用另一台 PC 和更新时发现。
关于docker-compose 中的 Windows 10 绑定(bind)挂载不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50514179/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!