2017-04-11 45 views
0

我们使用docker CE(最新)和docker composer版本3.I对于3个服务有一个.yml,但我想将grafana约束为swarm的主人。 当添加约束我得到Docker作曲家,约束 - 没有找到预期的关键

YAML:第32行:没有找到预期的关键 里边反脚本是这样的:

version: '3' 
services: 
    influxdb: 
    image: "influxdb:latest" 
    volumes: 
     - /mount/set/influxdb:/var/lib/influxdb 
    ports: 
     - "5076:5076" 
    networks: 
     - production 

    kapacitor: 
    image: "kapacitor:latest" 
    environment: 
     KAPACITOR_HOSTNAME: kapacitor 
     KAPACITOR_INFLUXDB_0_URLS_0: http://influxdb:5086 
    volumes: 
     - /mount/set/kapacitor:/var/lib/kapacitor 
    ports: 
     - "9092:9092" 
    networks: 
     - production 

    grafana: 
    image: "grafana/grafana:latest" 
     ports: 
     - "7000:7000" 
     networks: 
     - production 
     deploy: 
     placement: 
      constraints: [node.role == manager] 
     volumes: 
     - /iSCSIDisk/grafana/grafana.ini:/etc/grafana/grafana.ini 
     - /iSCSIDisk/grafana/lib:/var/lib/grafana 
     environment: 
     GF_SECURITY_ADMIN_PASSWORD: secretsecret 

     networks: 
     production: 
      external: true 

我梳理了剧本好几次,但没有找到任何错误的原因,我可能会忽略某些东西,我检查了非空格等,但找不到任何东西,我检查了其他文章关于同样的错误,并且我似乎没有任何丢失的括号或重复。非常感谢您的帮助,谢谢。 :)

回答

2

您的缩进在grafana部分被打破。 image之后的所有内容都有两个额外的空间。

+0

非常感谢!我猜yml文件是挑剔的:) –

+0

是的,有人在制作yml语法时将一页文件从python手册中取出。 – BMitch

+0

哇 - 1.5小时在我的.yaml罚款看类似的问题 - 谢谢你。 Grrrr :-) – vipes