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

跨目录添加Docker Compose服务构建失败,请求排查错误原因

问题分析与修复方案

我看了你的配置,主要有两个关键问题导致构建失败:

1. 环境文件引用错误

你的asset_update_service配置里用了env_file: - .env,这会加载nft-trading-service目录下的.env文件,但你明确提到nft-asset-updater有自己的专属.env,所以这里应该指向正确的路径:../nft-asset-updater/.env。如果updater需要同时加载trading服务的.env和自身的.env,可以把两个路径都列出来;如果只需要自身的,单独写这个路径即可。

2. Dockerfile路径配置错误

在build部分你写了dockerfile: .,这是不正确的。dockerfile参数需要指定具体的文件名(默认是Dockerfile),而不是目录。你已经把context设为../nft-asset-updater(这个是对的,指向updater的目录),所以如果你的Dockerfile就叫Dockerfile,可以直接省略dockerfile参数;如果是自定义名称,再指定具体文件名。

另外还有个小细节:pgadmin服务里的links在Compose v3中已经被废弃,建议用networks来实现服务间通信,所以可以删掉这个配置项。

修正后的docker-compose.yml配置

version: "3"
services:
  nftapi:
    env_file:
      - .env
    build:
      context: .
    ports:
      - '5000:5000'
    depends_on:
      - postgres
    networks:
      - postgres
    extra_hosts:
      - "host.docker.internal:host-gateway"
    restart: always
  asset_update_service:
    # 加载updater专属的环境变量文件
    env_file:
      - ../nft-asset-updater/.env
    build:
      context: ../nft-asset-updater
      # 如果Dockerfile是默认名称,可省略此行;自定义名称则替换为实际文件名
      # dockerfile: Dockerfile
    ports:
      - '9000:9000'
    depends_on:
      - postgres
    networks:
      - postgres
    extra_hosts:
      - "host.docker.internal:host-gateway"
    restart: always
  postgres:
    container_name: postgres
    image: postgres:latest
    ports:
      - "5432:5432"
    volumes:
      - /data/postgres:/var/lib/postgresql/data
    env_file:
      - docker.env
    networks:
      - postgres
  pgadmin:
    container_name: pgadmin
    image: dpage/pgadmin4
    ports:
      - "8080:80"
    env_file:
      - docker.env
    networks:
      - postgres
networks:
  postgres:
    driver: bridge

额外注意事项

  • 执行docker-compose up --build时,确保你是在root/nft-trading-service目录下运行命令,这样../nft-asset-updater的路径才会被正确解析。
  • 检查nft-asset-updater目录下的Dockerfile是否存在,并且语法正确(比如有没有指定基础镜像、正确的构建步骤等)。
  • 如果构建时出现权限问题,可以尝试给nft-asset-updater目录设置适当的权限,或者在Dockerfile中使用非root用户进行构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 13:48:12