【问题标题】:'./docker-compose.yml', service must be a mapping, not a NoneType'./docker-compose.yml', service 必须是映射,而不是 NoneType
【发布时间】:2017-09-13 03:04:53
【问题描述】:

当我运行:COMPOSE_PROJECT_NAME=zk_test docker-compose up 时,我收到错误提示

“错误:在文件'./docker-compose.yml'中,服务必须是映射,而不是 一个无类型。”。

这是我的 yml 文件:

version: '2'
services:
zoo1:
image: zookeeper
restart: always
container_name: zoo1
ports:
- "2181:2181"
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888

zoo2:
image: zookeeper
restart: always
container_name: zoo2
ports:
- "2182:2181"
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888

zoo3:
image: zookeeper
restart: always
container_name: zoo3
ports:
- "2183:2181"
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888

示例图片:

【问题讨论】:

  • 如果没有正确格式化的问题,这真的很难回答为什么您的撰写文件不起作用。我能够从hub.docker.com/_/zookeeper 中获取示例并毫无问题地进行设置。

标签: docker yaml docker-compose


【解决方案1】:

YAML 依赖于缩进。这个

services:
zoo1:

是一个包含两个键的映射,这两个键都映射到 null(即 Python 中的 None)。

鉴于:

services:
   zoo1:

是嵌套在映射中的映射。键 'services' 的值与键 zoo1 的映射(同样具有值 null)。

【讨论】:

  • 这解决了我的问题。我之前遇到了缩进问题,所以我删除了所有缩进。然后我遇到了另一个问题,这个答案解决了它。谢谢!
【解决方案2】:
version: '2'                                                                    
services:                                                                          
  autodiscovery:                                                                   
  build: ./autodiscovery/                                                          
  mem_limit: 128m                                                                  
  expose:                                                                          
    - 53                                                                           
    - 8300                                                                         
    - 8301                                                                         
    - 8302                                                                         
    - 8400                                                                         
    - 8500                                                                         
  ports:                                                                           
    - 8500:8500                                                                    
  dns:                                                                             
    - 127.0.0.1  

只需放一个空格。之前。

【讨论】:

    猜你喜欢
    • 2021-08-30
    • 2020-08-17
    • 2019-03-17
    • 2017-12-17
    • 2017-05-11
    • 2022-01-27
    • 2018-12-28
    • 2018-09-23
    • 2017-01-26
    相关资源
    最近更新 更多