You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Compose配置报错:Unsupported config option for services: 'db' 求助

解决Docker Compose报错:Unsupported config option for services: 'db'

这个报错的根源很明确——你的Docker Compose版本(1.17.1)过于老旧,再加上你的docker-compose.yml缺少版本声明,导致旧版本的Compose无法正确解析你的配置结构。

为什么会出现这个错误?

早期的Docker Compose(比如1.17.x版本)如果没有在配置文件顶部指定version字段,会默认使用v1格式来解析配置。而v1格式里根本没有services这个顶层配置项,它是直接在根级别定义服务的。所以当你的配置里用services包裹db和wordpress时,旧版本的Compose就会把db当成services下的非法配置项,抛出那个错误。

快速解决方法

修改你的docker-compose.yml,在顶部添加兼容你当前Docker和Compose版本的格式声明,比如version: '3'(这个版本在你的Docker 18.09.5和Compose 1.17.1下是完全支持的):

version: '3'
services:
  db:
    image: postgres
    environment:
      - POSTGRES_PASSWORD=mydbsecretpassword
  wordpress:
    image: wordpress
    ports:
      - "8085:80"

修改完成后,再重新运行你的docker-compose命令,应该就能正常启动服务了。

更彻底的解决方案(推荐)

你的Docker Compose 1.17.1是2018年的版本,实在太老了,不仅缺少很多新特性,还会有不少兼容性问题。建议你升级到较新的稳定版本:

  • 先卸载旧版本(如果是通过包管理器安装的,用对应命令卸载,比如sudo apt remove docker-compose)
  • 下载对应你系统架构的最新稳定版docker-compose二进制文件,放到/usr/local/bin目录下
  • 给二进制文件添加执行权限:sudo chmod +x /usr/local/bin/docker-compose
  • 验证版本:docker-compose --version

升级后,即使你忘记加version字段,新版本的Compose也能自动识别正确的配置格式,减少这类问题的发生。

内容的提问来源于stack exchange,提问作者Sivabalan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 13:17:49