首页 > 解决方案 > 无法理解 YAML 文件

问题描述

我是 YAML 新手,我想了解以下 .yaml 文件:

version: "3.7"
services:
    influxdb:
        image: influxdb:alpine
        environment:
            INFLUXDB_DB: ft_services
            INFLUXDB_ADMIN_USER: admin
            INFLUXDB_ADMIN_PASSWORD: admin
        volumes:
            - datainfluxdb:/var/lib/influxdb
        deploy:
            restart_policy:
                condition: on-failure

据我所知,.yaml 文件中可以使用 3 种类型的数据:标量、序列和映射。例如,version: "3.7"是一个标量。但我不确定以下是什么:

volumes:
            - datainfluxdb:/var/lib/influxdb
environment:
            INFLUXDB_DB: ft_services
            INFLUXDB_ADMIN_USER: admin
            INFLUXDB_ADMIN_PASSWORD: admin

我真的不明白这些是什么类型的数据以及它们是如何工作的,有人可以给我提示吗?

标签: kubernetesyaml

解决方案


列表

例子

volumes:
   - data: /var/lib
     other-field: "example"
   - data: /etc

-以above开头的每个缩进行都是List Item的开头。示例中的列表中有两个项目,整个列表名为volumes。该示例是地图列表,但标量列表也是有效的。

地图

例子

environment:
    INFLUXDB_DB: ft_services
    INFLUXDB_ADMIN_USER: admin
    INFLUXDB_ADMIN_PASSWORD: admin

正如您所写,这是一个带有键值对的 Map,整个 Map 被命名为environment.

标量

正如您所写,还有各种类型的标量。引号内的值"3.7"是 a string


推荐阅读