Docker Compose 配置文件功能:已弃用?

问题描述

Docker Compose 在线指南描述了 profiles 功能,该功能允许运行在同一配置文件中描述的不同容器,只需使用带有选项 --profile 的不同配置文件here(简而言之) 和 here(详细信息)。

compose file 3.0 format specification 中提到了 profiles 撰写文件选项(描述服务应该运行哪些配置文件),没有任何其他版本限制,因此它看起来应该适用于所有 3.* 版本。

但是我在 Windows 工作站和 CentOS 7 下的开发服务器上安装的 Docker Compose 实例(均具有 1.27.4 版本,构建 40524192)只是在他们的 CLI 中没有这个选项。 docker-compose --help 命令在其输出中没有显示 --profile 选项,当我尝试它时它确实不起作用。相反,有 --context--env-file 选项(在线指南中没有),但看起来两者有所不同。

有谁知道 Docker Compose 配置文件发生了什么?此功能是否已删除(我无法找到任何相关信息)?或者它们是否以不同的模式或其他方式可用(我知道某些选项仅适用于 docker stack,不适用于 docker-compose,但前者在在线描述和 {{ 1}} 输出)?还是我做错了什么?

解决方法

正如 clcto 回答的那样,我使用的 Docker Compose 版本太旧:要使用 profiles,需要 1.28.0 或更高版本.

对于Windows,通常接收Docker Compose的方式是安装包含Docker、Docker Compose等的Docker Desktop,Docker Desktop的实际版本仍然包含Docker Compose 1.27.4。作为一种解决方法,我从 here 下载了相应的 Docker Compose exe 文件并用它替换了现有的 c:\Program Files\Docker\Docker\resources\bin\docker-compose.exe 文件 - 就足够了。