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

使用Docker Compose include选项时遇网络未定义错误求助

问题解决:service "redis" refers to undefined network inside

可能的原因及修复步骤

1. 检查Docker Compose版本

include 功能需要 Docker Compose v2.20.0或更高版本,旧版本对该特性支持不完善。执行以下命令查看当前版本:

docker compose version

如果版本低于要求,升级Docker Compose:

  • Docker Desktop用户:直接在应用设置中更新
  • Linux用户:
    sudo apt-get update && sudo apt-get install docker-compose-plugin
    

2. 确认include路径的正确性

include 中的路径是相对执行docker compose命令的工作目录,而非主compose文件所在目录。比如:

  • 若你的docker-compose.yml位于./services/redis/,执行命令时必须进入该目录,否则../networks/dc.networks.yaml会指向错误位置。
  • 可以改用绝对路径测试,示例:
    include:
      - path: "/full/path/to/networks/dc.networks.yaml"
    

3. 验证外部网络文件的合法性

单独检查dc.networks.yaml是否存在语法错误:

docker compose -f ../networks/dc.networks.yaml config

如果输出正常,说明文件格式没问题;若报错,修复对应语法问题(比如缩进、符号错误)。

4. 临时替代方案(若include仍不生效)

如果以上步骤都无法解决,可以在主docker-compose.yml中显式引用外部网络:

# docker-compose.yml
version: "3.9"

services:
  redis:
    # ... 其他配置保持不变 ...
    networks:
      - inside

networks:
  inside:
    external: true
    name: [你的项目名]_inside

先创建网络:

docker compose -f ../networks/dc.networks.yaml up -d

再启动服务即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 16:23:26