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

Docker 25.0.3适配docker-compose版本及external_links问题排查

Docker Compose 问题解答

背景说明

Docker版本为25.0.3,使用docker-compose 2.12.2时,docker-compose.yml中配置的external_links未生效,diagnose_worker无法连接对应服务;但使用docker compose(版本2.24.5)启动时该配置正常生效。docker-compose.yml内容如下:

version: '2.4'
services:
  alfa_service:
    image: "docker-harvor/alfa_service:${CHATGPT_VERSION}"
    restart: always
    networks:
      - openai_net
    runtime: nvidia
    environment:
      - NVIDIA_VISIBLE_DEVICES=all
    ports:
      - "0.0.0.0:${CM_FASTAPI_PORT}:8000"
      - "0.0.0.0:${CM_GRPC_PORT}:50051"
    volumes:
      - "/etc/localtime:/etc/localtime:ro"
      - "/etc/timezone:/etc/timezone:ro"
      - "${LOG_DIR}/trtservice:/var/log/supervisor/trtservice"
 
  web:
    image: "docker-harvor/web_service:${CHATGPT_VERSION}"
    restart: always
    cap_add:
      - SYS_TIME
    ports:
      - "0.0.0.0:${CM_WEB_PORT}:8080"
    networks:
      - openai_net
    env_file:
      - .env
    volumes:
      - "/etc/localtime:/etc/localtime"
      - "/etc/timezone:/etc/timezone"
      - "/proc/sysrq-trigger:/sysrq"
      - "${SWIFT_DIR}:/mnt:ro"
      - "${LOG_DIR}:/var/log/proscan"
      - "${DATA_DIR}:/opt/proscan"
    environment:
      - TZ=${SYS_TIME_ZONE}
    external_links:
      - mysql:${CM_MYSQL_HOST}
      - redis:${CM_REDIS_HOST}
      - rabbitmq:${CM_CELERY_HOST}
      - oss:${CM_SWIFT_HOST}

  diagnose_worker:
    image: "docker-harvor/diagnose_worker:${CHATGPT_VERSION}"
    restart: always
    networks:
      - openai_net
    env_file:
      - .env
    volumes:
      - "/etc/localtime:/etc/localtime:ro"
      - "/etc/timezone:/etc/timezone:ro"
      - "${LOG_DIR}/worker:/var/log/supervisor/worker"
      - "${LOG_DIR}:/var/log/proscan"
    external_links:
      - mysql:${CM_MYSQL_HOST}
      - redis:${CM_REDIS_HOST}
      - rabbitmq:${CM_CELERY_HOST}
      - oss:${CM_SWIFT_HOST}
    links:
      - alfa_service:${CM_PROSCAN_HOST}
      - web:${CM_WEB_SERVICE}

  nginx:
    image: "docker-harvor/nginx_proxy:${CHATGPT_VERSION}"
    restart: always
    network_mode: host
    volumes:
      - "/etc/localtime:/etc/localtime:ro"
      - "/etc/timezone:/etc/timezone:ro"
      - "${LOG_DIR}/system:/www/data/logs"
      - "${LOG_DIR}/nginx:/var/log/nginx"

networks:
  openai_net:
    external: true

1. Docker 25.0.3应对应哪个版本的docker-compose?

Docker官方推荐配套使用Compose v2.24.x及以上版本(如你已安装的2.24.5)。同大版本周期内的Compose与Docker引擎兼容性最佳,能避免功能不兼容或已知bug。

2. docker-compose与docker compose有什么区别?

  • docker-compose:属于Compose v1系列,是独立的二进制工具,已停止主动开发,仅做关键bug维护。它与Docker引擎分离运行,是旧版实现。
  • docker compose:属于Compose v2系列,是Docker CLI集成的插件,为官方当前主推版本。与Docker引擎集成度更高,支持更多新特性,性能更优,后续会持续迭代更新。

3. 服务器上同时安装了版本为2.12.2的docker-compose和版本为2.24.5的docker compose,使用docker compose启动时external_links生效,而用docker-compose启动时无效,我应该使用哪个版本?

应该使用**docker compose(2.24.5版本)**。原因如下:

  • 你的场景中external_links在新版docker compose下正常工作,旧版docker-compose(2.12.2)存在兼容性bug,导致配置失效。
  • Compose v2是官方当前维护的版本,后续会持续修复bug、添加新特性,而v1已进入维护尾声,不再更新功能。
  • 搭配你的Docker 25.0.3版本,v2的兼容性和稳定性更有保障。

4. Docker从哪个版本开始支持docker compose命令?

Docker引擎从20.10.0版本开始正式内置支持docker compose命令(Compose v2)。在此之前,用户需要单独安装Compose v2插件才能使用该命令。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 10:52:22