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

Docker Compose报错:不支持'additional_contexts'选项求助

解决docker-compose中'additional_contexts'不被支持的问题

问题背景

执行docker-compose命令时出现如下错误:

ERROR: The Compose file './docker-compose.yml' is invalid because:
services.api.build contains unsupported option: 'additional_contexts'

用户的docker-compose.yml配置:

version: '3.8'
services:
  api:
    build:
      dockerfile: ./backend/Dockerfile
      context: ./
      additional_contexts:
        - data=./backend
      args:
        - ENVIRONMENT=$ENVIRONMENT
    container_name: api
    environment:
      - MODE=$MODE
    depends_on:
      database:
        condition: service_healthy
    ports:
      - 9999:9999
    networks:
      - backend
    restart: always

当前docker-compose版本:

docker-compose version 1.29.2, build unknown
docker-py version: 5.0.3
CPython version: 3.11.6
OpenSSL version: OpenSSL 3.0.12 24 Oct 2023

问题原因

additional_contexts是Docker Compose v2.20.0及以上版本才引入的配置项,你当前使用的是旧版的docker-compose(v1系列的1.29.2),不支持该功能。

解决方法

方法一:升级到Docker Compose v2版本

Docker Compose v2已完全替代v1,且支持所有新特性,升级步骤:

  • Linux系统可通过官方脚本安装:
    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
    
  • Windows/macOS用户直接安装Docker Desktop,默认包含最新版Compose v2
  • 验证升级:执行docker compose version(注意是空格分隔),确认版本≥2.20.0

方法二:不升级版本,替换功能实现

如果暂时无法升级,可通过调整Dockerfile或构建上下文达到相同效果:
你的主上下文已经是./,其中包含./backend目录,直接在Dockerfile中使用相对路径复制文件即可,无需额外上下文:

# 替换成你实际需要的目标路径
COPY ./backend /app/data

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 11:33:27