yaml.parser.ParserError:预期为'<document start =“”>',但发现为'<block mapping =“” start =“”>'

时间:2019-05-07 10:06:10

标签: ruby-on-rails ruby yaml rake exchange-server

我正在使用命令rake service:all进行UI安装。但是我发现了这个错误,并持续了数小时。

我已经从yamllint.com检查了yaml格式,但找不到错误。

frontend.yaml:

../config/frontend/env.js:/usr/share/nginx/html/public/env.jsversion: "3.6"

services:
    frontend:
      image: "rubykube/mikroapp:0.1.5"
      volumes: 
        - ../config/frontend/env.js:/usr/share/nginx/html/public/env.js
    labels:
      traefik.enable: true
      traefik.frontend.rule: "PathPrefix:/;Host:www.dexfinpro.com"
      traefik.port: 3000

  tower:
    image: "rubykube/tower:0.1.8"
    volumes:
      - ../config/frontend/tower.js:/home/app/env.js
    labels:
      traefik.enable: true
      traefik.frontend.rule: "PathPrefix:/tower;Host:www.dexfinpro.com"
      traefik.port: 8080

错误:

  

yaml.parser.ParserError:预期为“ <文档开始>”,但发现为“ <块映射开始>”     在“ ./compose/frontend.yaml”的第3行第1列中   耙子流产了!   命令失败,状态为(1):[docker-compose up -d proxy ...]

我发现了此错误。

1 个答案:

答案 0 :(得分:1)

文件中的内容无效。原因是您将frontent块缩进了2个空格。

您随时可以在此处检查yaml是否有效-http://www.yamllint.com/

services:
  frontend:
    image: "rubykube/mikroapp:0.1.5"
    volumes: 
      - ../config/frontend/env.js:/usr/share/nginx/html/public/env.js
  labels:
    traefik.enable: true
    traefik.frontend.rule: "PathPrefix:/;Host:www.dexfinpro.com"
    traefik.port: 3000

  tower:
    image: "rubykube/tower:0.1.8"
    volumes:
      - ../config/frontend/tower.js:/home/app/env.js
    labels:
      traefik.enable: true
      traefik.frontend.rule: "PathPrefix:/tower;Host:www.dexfinpro.com"
      traefik.port: 8080

注意::我不确定您是否要在顶层或内部towerservices键阻止该块,因此请进行相应更改