docker-compose提示version告警原因
问题
docker-compose up -d 总是提示version,强迫症很难受。
警告信息:
WARN[0000] ...docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
说明:
docker-compose.yml文件中的version:字段在 Docker Compose v1.27.0+ 和 v2 中已经被弃用,不再需要指定,它将被忽略。
解决
安全移除 version 字段即可。 例如,将:
1 | version: "3.8" |
改为:
1 | services: |
即可彻底消除警告,对 Compose 功能没有影响,现代版本会自动使用最合适的 schema。
为什么被弃用?
在较早版本中,version 决定了 docker-compose 使用的 schema 行为(如支持的语法、功能)。但从 Docker Compose v1.27(2020 年)起,Compose 文件 schema 已统一,自动向后兼容,不再需要用户显式指定 version。
#查看你使用Compose版本
1 | docker compose version |
只要版本 ≥ 1.27.0(大多数都远远高于了),就可以放心删除 version:。