yaml.parser.ParserError:解析块映射时

2024-04-24

ERROR: yaml.parser.ParserError: while parsing a block mapping
  in "././tmp/statelesscs_compose.yml", line 1, column 1
expected <block end>, but found ':'
  in "././tmp/statelesscs_compose.yml", line 4, column 1
docbase installation completed

在执行下面的 yml 文件时,您能建议我如何解决这个问题吗?

用法示例:

docker-compose -f my.yml up

还让我知道是否有任何工具可以格式化 yml 文件,以便我可以轻松修改

my.yml:

version: '2'
services:
  ubuntupgcsstateless:
    image: ubuntupgstatelesscsimage
    environment:
      - EXTERNAL_IP=10.31.86.164
      - EXTERNALDB_IP=10.31.86.165
      - EXTERNALDB_ADMIN_USER=postgres
      - EXTERNALDB_ADMIN_PASSWORD=password
      - DOCBASENAME=DocbaseName
    hostname:
      "ubuntupgcsstateless"
    container_name:
      "ubuntupgcsstateless"
    ports:
     - "1689:1689"
     - "1690:1690"
     - "50000:50000"
     - "50001:50001"
     - "9080:9080"
     - "9082:9082"
    volumes:
     - DocbaseName_data:/home/dmadmin/dctm/data
     - DocbaseName_dba:/home/dmadmin/dctm/dba
     - DocbaseName_share:/home/dmadmin/dctm/share
     - DocbaseName_dfc:/home/dmadmin/dctm/config
     - DocbaseName_xhive_storage:/home/dmadmin/dctm/xhive_storage
     - DocbaseName_mdserver:/home/dmadmin/dctm/wildfly9.0.1/server/DctmServer_MethodServer
    privileged: true
volumes:
 DocbaseName_data:
 DocbaseName_dba:
 DocbaseName_share:
 DocbaseName_dfc:
 DocbaseName_xhive_storage:
 DocbaseName_mdserver:

如果空格确实有空格,您提供的 YAML 不会生成错误。因此,请检查您的 YAML 中的制表符或其他隐藏字符。

import ruamel.yaml

yaml_str = """\
version: '2'
services:
  ubuntupgcsstateless:
    image: ubuntupgstatelesscsimage
    environment:
      - EXTERNAL_IP=10.31.86.164
      - EXTERNALDB_IP=10.31.86.165
      - EXTERNALDB_ADMIN_USER=postgres
      - EXTERNALDB_ADMIN_PASSWORD=password
      - DOCBASENAME=DocbaseName
    hostname:
      "ubuntupgcsstateless"
    container_name:
      "ubuntupgcsstateless"
    ports:
     - "1689:1689"
     - "1690:1690"
     - "50000:50000"
     - "50001:50001"
     - "9080:9080"
     - "9082:9082"
    volumes:
     - DocbaseName_data:/home/dmadmin/dctm/data
     - DocbaseName_dba:/home/dmadmin/dctm/dba
     - DocbaseName_share:/home/dmadmin/dctm/share
     - DocbaseName_dfc:/home/dmadmin/dctm/config
     - DocbaseName_xhive_storage:/home/dmadmin/dctm/xhive_storage
     - DocbaseName_mdserver:/home/dmadmin/dctm/wildfly9.0.1/server/DctmServer_MethodServer
    privileged: true
volumes:
 DocbaseName_data:
 DocbaseName_dba:
 DocbaseName_share:
 DocbaseName_dfc:
 DocbaseName_xhive_storage:
 DocbaseName_mdserver:
"""

data = ruamel.yaml.round_trip_load(yaml_str)
print(ruamel.yaml.round_trip_dump(data))

尽管 YAML 规范没有要求,但您应该始终对映射中的键以及序列中的元素(使用 1 和 2 个空格,我建议使用 2 个)使用相同数量的空格缩进(同样使用 1 和 2 个空格) ,我建议对映射值的序列使用 0)。

使用您的设备尝试以下操作Dockerfile and docker-compose:

version: '2'
services:
  ubuntupgcsstateless:
    image: ubuntupgstatelesscsimage
    environment:
    - EXTERNAL_IP=10.31.86.164
    - EXTERNALDB_IP=10.31.86.165
    - EXTERNALDB_ADMIN_USER=postgres
    - EXTERNALDB_ADMIN_PASSWORD=password
    - DOCBASENAME=DocbaseName
    hostname:
      "ubuntupgcsstateless"
    container_name:
      "ubuntupgcsstateless"
    ports:
    - "1689:1689"
    - "1690:1690"
    - "50000:50000"
    - "50001:50001"
    - "9080:9080"
    - "9082:9082"
    volumes:
    - DocbaseName_data:/home/dmadmin/dctm/data
    - DocbaseName_dba:/home/dmadmin/dctm/dba
    - DocbaseName_share:/home/dmadmin/dctm/share
    - DocbaseName_dfc:/home/dmadmin/dctm/config
    - DocbaseName_xhive_storage:/home/dmadmin/dctm/xhive_storage
    - DocbaseName_mdserver:/home/dmadmin/dctm/wildfly9.0.1/server/DctmServer_MethodServer
    privileged: true
volumes:
  DocbaseName_data:
  DocbaseName_dba:
  DocbaseName_share:
  DocbaseName_dfc:
  DocbaseName_xhive_storage:
  DocbaseName_mdserver:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

yaml.parser.ParserError:解析块映射时 的相关文章

随机推荐