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

在AWS EC2实例中使用docker-compose时extends与depends_on冲突报错如何解决?

问题原因及解决方法

核心原因

这个报错是Docker Compose版本兼容性问题:

  • Docker Desktop自带的Docker Compose版本通常较新,已经移除了extends与depends_on不能同时在服务中使用的限制;
  • 你在AWS EC2上安装的Docker Compose版本偏旧,旧版本的Compose不允许在使用extends的服务中声明depends_on,针对ingress这类特殊服务时,该限制表现更严格。

解决方法

方法1:升级EC2上的Docker Compose到最新兼容版本

  1. 检查当前版本:
    docker-compose --version
    
  2. 卸载旧版本(以Debian/Ubuntu系统为例):
    sudo apt-get remove docker-compose
    
  3. 安装最新稳定版:
    sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    
  4. 验证安装:
    docker-compose --version
    

升级完成后重新运行你的yaml文件即可。

方法2:修改docker-compose.yaml文件(无需升级)

如果暂时无法升级Compose版本,可以调整配置文件:

  • 移除ingress服务中的extends关键字,直接将被继承服务的所有配置内容复制到ingress服务下;
  • 保留depends_on配置在ingress服务中,确保依赖关系正常。

示例调整前:

services:
  ingress:
    extends:
      file: common.yaml
      service: base-ingress
    depends_on:
      - backend

调整后:

services:
  ingress:
    # 直接复制base-ingress的所有配置,示例如下:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    depends_on:
      - backend

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 05:53:19