2017-04-11 47 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