Compose: 用户指定的属性和/或存储元数据的位置(作者、描述)

创建于 2016-02-17  ·  3评论  ·  资料来源: docker/compose

对于版本 1 文件,我在 docker-compose 文件的开头有两条注释:

# author: Anthon van der Neut <[email protected]>
# description: mongo container

然后我使用ruamel.yaml提取dc2service ruamel.yaml并将此信息包含到 Systemd/Upstart 的服务文件中。 当然,我可以遵循在 python 项目中经常看到的 YACF 原则(Yet Another Configuration File),但是使用 1.6.0 和 2.0 版文件格式我可以轻松做到:

version: '2'
user-data:
  author: Anthon van der Neut <[email protected]>
  description: mongo container
services:
   .......

不幸的是docker-compose抱怨user-data是一个意想不到的附加属性。

对于版本 2 中的顶级映射,我建议我们为用户特定数据保留一个或多个键,唯一的要求是相应的值是有效的 YAML 构造,即整个文件保持可解析的 YAML。 这可能是一个键,建议其对应的值是一个映射(为了灵活性),或者 docker-compose 可以忽略具有特定前缀(“user-data-”)的所有顶级键

类似的事情在容器文件格式(如 TIFF)中完成,以允许包含附加(供应商特定)信息。 该键的名称当然应该是在 docker-compose 中肯定不会使用的名称,因此“user-data”、“non-dc-data”。

然后 docker-compose 开发人员可以总是挑选信息,他们认为对其他项目有用(希望像我的作者/描述一样)并决定将它们插入到其他一些属性下,或者甚至可以保证他们自己的顶级属性。

最有用的评论

我已经关闭了一些其他问题作为这个问题的重复。

我认为我们应该在 2.x 和 3.x 模式的下一个版本中允许顶级的x-*

所有3条评论

我认为这与 #1655 和 #2578 重叠

这对于处理docker-compose.yml文件的工具非常有用。

我已经关闭了一些其他问题作为这个问题的重复。

我认为我们应该在 2.x 和 3.x 模式的下一个版本中允许顶级的x-*

此页面是否有帮助?
0 / 5 - 0 等级