2017-04-17 39 views
1

当我跑:COMPOSE_PROJECT_NAME=zk_test docker-compose up,我得到了错误,说'./docker-compose.yml',服务必须是一个映射,而不是一个NoneType

"ERROR: In file './docker-compose.yml', service must be a mapping, not a NoneType.".

这是我的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 

示例图像:

Sample Image

+1

如果没有正确格式化的问题,这真的很难回答为什么你的撰写文件不工作。我可以从https://hub.docker.com/_/zookeeper/中找到这个例子,并且可以毫无问题地进行设置。 –

回答

8

YAML是缩进依赖性的。此

services: 
zoo1: 

是具有两个键的映射,这两个图来null(即在Python None)。

鉴于:

services: 
    zoo1: 

是嵌套在映射的映射。关键'服务'具有与密钥zoo1(其值也为null)的映射值。

+0

thx很多,问题现在消失了。 (错误:Compose文件'./docker-compose.yml'无效,因为: 对于services.environment的不支持的配置选项:'ZOO_MY_ID'),我如何获得受支持的配置选项? –

+0

如果问题消失了,那么请标记此答案。请(重新)阅读[帮助]这不是一个论坛,你不应该滥用评论的后续问题。把这个问题放在一个不同的问题文章中,没有图像,用一个最小化的docker文件来产生这个错误,并且解释你想要达到的目标,以及你尝试使用的任何例子。 – Anthon

相关问题