gpt4 book ai didi

docker - Docker Compose YAML版本1和版本2有什么区别?

转载 作者:行者123 更新时间:2023-12-02 18:41:47 31 4
gpt4 key购买 nike

我是第一次使用YAML文件编写docker-compose.yaml。在这里,我知道YAML文件有两种Compose文件格式版本。编写docker-compose.yaml时需要使用哪一个?为什么?确切的区别是什么?

最佳答案

事情很混乱。一方面,存在YAML规范版本(以及其他版本):

  • 2005年发布的YAML 1.1版
  • 2009年发布的YAML 1.2版

  • 因此,没有YAML版本2(但是有一个YAML 1.0)

    另一方面,docker-compose文件中有版本,如果未指定,则默认为 字符串 1。自 docker-compose 1.6版以来,它还支持 2版本(也是字符串)docker组成文件。主要区别在于,在版本2中,您可以在特定的 services键下获得所有服务。当然,在扩展原始版本1 toplevel-key-is-service规范方面,它要灵活得多。

    但是,版本1和版本2组成的文件都使用旧的YAML 1.1标准,这尤其使您不得不引用端口映射,因为在YAML 1.1下,这些可以被解释为六进制(取决于端口值)。 YAML 1.2没有这个问题,但是docker-compose依赖PyYAML,并且在2009年之后没有更新以支持YAML 1.2

    有关从撰写版本1到撰写版本2在 the section on how to upgrade中找到IMO的实际差异的最佳信息

    我制作了小的包装脚本 dcw ,将版本2的docker-compose文件预处理为YAML 1.2(因此您不必担心YAML 1.1。特性),它还允许您从 docker-compose.yml文件中设置环境变量。

    关于docker - Docker Compose YAML版本1和版本2有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36422778/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com