【问题标题】:In file '.\docker-compose.yml', service 'version' must be a mapping not a string在文件 '.\docker-compose.yml' 中,服务 'version' 必须是映射而不是字符串
【发布时间】:2018-09-23 21:46:47
【问题描述】:

在 SO 上提出了同样的问题,他们都给出了缩进问题或编码问题的答案。

我尝试在 http://yaml-online-parser.appspot.com/ 解析我的 YML,它解析得很好。

version: '3'

services:
  api:
    image: testdocker/api
    container_name: testdocker_api
    build:
      context: .
    ports:
      - 5000:80
    environment:
      ASPNETCORE_ENVIRONMENT: Production

不知道为什么在做 docker-compose up 时会出现这个错误

Docker 版本 18.03.0-ce,构建 0520e24

【问题讨论】:

  • 文件中有奇怪的字符吗?
  • @DavidG,全部输入,没有复制粘贴。为确保一切顺利,没有使用 numlock 和 num pad。我看不到任何奇怪/特殊的字符
  • 您使用了哪个文本编辑器?
  • 可能不相关,但您在环境一词中有两次拼写错误,其中第一个也会破坏您的撰写文件。
  • @DavidG,Visual Studio 2017。也尝试在 Notepad++ 中创建文件并复制到目标目录。

标签: docker asp.net-core asp.net-core-mvc docker-compose yaml


【解决方案1】:

这可能对所有在 Visual Studio 2017 中创建 docker-compose 文件的 .NET 开发人员有所帮助。

在 Visual Studio 2017 中创建 docker-compose 文件是个问题。

解决的步骤:

  1. 我使用了 Notepadd++,这次创建了一个 YAML 文件作为模板。
  2. 为您创建 YML 配置。
  3. 复制到您的项目目录。
  4. 运行docker-compose up

这帮助我解决了问题。

【讨论】:

  • 很奇怪visual studio 2017还有这个问题,用一个简单的文本文件!!
猜你喜欢
  • 1970-01-01
  • 2016-10-04
  • 2021-07-07
  • 2018-06-02
  • 2017-05-11
  • 2021-08-30
  • 2018-12-28
  • 2017-01-26
  • 2017-09-13
相关资源
最近更新 更多