Docker-Compose 文件有 yaml.scanner.ScannerError

新手上路,请多包涵

compose.yml 文件,如下所示:

 version: '2'
services:
  discovery-microservice:
    build: discovery-microservice
      context: /discovery-microservice/target/docker
      dockerfile: Dockerfile
  ports:
   - "8761:8761"

当我执行它时,我收到以下错误:

 yaml.scanner.ScannerError: mapping values are not allowed here
in "C:\...\docker-compose.yml", line 5, column 14

据我所见,格式没有问题,例如缺少空格。我的总体目标是指定一个开发模式 docker-compose 文件,将其指向来自不同模块的目标目录。

我在这里做错了什么?

原文由 Skeffington 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

从字面上看,几秒钟后找到了解决方案。您必须在“构建”之后删除“发现微服务”:

 version: '2'
services:
  discovery-microservice:
    build:
      context: ./discovery-microservice/target/docker
      dockerfile: Dockerfile
    ports:
     - "8761:8761"

您也可以在上下文中使用“./”作为相对路径。 :)

原文由 Skeffington 发布,翻译遵循 CC BY-SA 3.0 许可协议

好的,我浪费了大约 3 个小时来调试类似的问题。

如果你们遇到以下错误

ERROR: yaml.scanner.ScannerError: mapping values are not allowed here
in ".\docker-compose.yml", line 2, column 9

这是因为之间需要一个空间

version:'3' <-- 这是错误的

version: '3' <-- 这是正确的。

另外,如果您使用的是 eclipse,请帮自己一个忙,安装 YEdit YAML 编辑器插件

原文由 virtuvious 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题