停止对 Docker Compose 文件进行版本控制
Docker Compose 是最伟大的发明之一,它使本地开发变得轻松便捷。如果您和我一样是 Docker Compose 的长期拥趸,您就会知道我们已经取得了长足的进步。目前,我们正在使用 Compose 的 2.0 版本,它是用 Golang 编写的。Compose 的 1.0 版本是用 Python 编写的,现已弃用。最后一次更新是在2021 年 5 月 10 日。自那时起,这些软件包就再也没有收到任何安全更新,出于安全原因,不建议继续使用。您可以在此处阅读更多关于 Compose 的历史。
图片来源:Docker 文档
这不仅仅是编程语言从 Python 到 Golang 的转变。在这个转变过程中,很多东西都发生了变化,从运行命令到 Compose 文件的构建方式。
例如,为了触发 Compose v1 的二进制文件,我们使用了docker-compose up
或docker-compose down
等符号,因为之前我们是单独安装二进制文件的。现在, “docker”和“compose”之间docker compose up
没有了短横线-
,因为 Compose 现在已作为子命令预装在 Docker 中(如果您使用的是 Docker for Desktop)。这是大家能注意到的最直观的变化。
但是,还有一个重大变化:不再需要像以前那样对 Compose 文件进行版本控制。有趣的是,很多人(包括我)并没有注意到这一点,因为带有版本号的 Compose 文件仍然兼容。另外,我认为在人们从 v1 迁移到 v2 时,移除版本号的宣传力度不够,而这篇博客的目的就是让人们意识到这一点。
现在,Docker 会通过在终端中向您发出警告来更积极地从组合文件中获取此版本形式。
此时,这只是一个警告,而不是错误,因为大多数人仍在使用版本,而通过抛出错误立即更改它可能会导致许多应用程序崩溃。
如果您不相信我,我在 GitHub 上搜索过,发现大约有一百万个项目(通常每个项目一个撰写文件)仍在其撰写文件中使用版本。
顺便说一句,这里还有一个提示,如果您仍在使用旧的约定来命名撰写文件 - docker-compose.yaml
,请开始使用compose.yaml
。
这篇博客就到这里。希望你喜欢这种类似短篇故事和自由写作的写作风格。很高兴你还在读,并且坚持读到最后——非常感谢你的支持。在你离开之前,我想告诉大家,我最近被授予了 Docker Captain 的称号。你可以在这里查看公告。你也可以在Twitter上联系我,我会定期在那里分享 Docker 技巧。
文章来源:https://dev.to/pradumnasaraf/stop-versioning-your-docker-compose-file-1f41