错误:服务“环境”必须是映射而不是数组

Posted

技术标签:

【中文标题】错误:服务“环境”必须是映射而不是数组【英文标题】:ERROR : service 'environment' must be a mapping not an array 【发布时间】:2021-09-21 15:49:31 【问题描述】:
version: "3.1"
services:
  elasticsearch:
    image: elasticsearch:7.4.2
    ports:
      - "9200:9200"
      - "9300:9300"
  environment:
    - discovery.type=single-node

我尝试升级这个 docker-compose.yml 文件,但它返回了这个错误

ERROR: In file 'C:\Users\ozan8\IdeaProjects\spring_examples\spring_elasticsearch\src\main\resources\docker-compose.yml', service 'environment' m
ust be a mapping not an array.

【问题讨论】:

你有没有仔细阅读错误,它给你一个有用的信息 是的,我读过,但我不明白,我对此很陌生。感谢您的回答。 你的yml文件错误,environment需要是服务elasticsearch的属性,你的标识错误。关注官方文档中的example。 【参考方案1】:

你需要确保你的 yml 文件是有效的并且在正确的位置,正如评论所说的那样

version: "3.1"
services:
  elasticsearch:
    image: 
      elasticsearch:7.4.2 
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      - discovery.type=single-node

【讨论】:

@ozantekce 查看leadrojmp 的评论

以上是关于错误:服务“环境”必须是映射而不是数组的主要内容,如果未能解决你的问题,请参考以下文章

Python'列表索引必须是整数,而不是元组”错误

TypeError:列表索引必须是整数或切片,而不是 str

f.写错误。必须是 str 而不是 resultnet

错误列表索引必须是整数或切片,而不是str

“如何知道‘服务器是不是在线’而不在 socket_connet 中出现 php 错误”

装饰器和错误函数()参数 1 必须是代码,而不是 str