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

如何迁移使用links指令的docker-compose文件并替换废弃特性

  • 实现同栈内服务的网络域名解析:配置links后,服务可以直接使用被关联的服务名作为域名,访问对应容器的暴露端口,无需手动配置容器IP
  • 支持自定义访问别名:例如配置links: [ "service1:db" ]后,当前服务可通过db域名直接访问service1服务
  • 隐式定义服务启动顺序:被link的服务会优先于当前服务启动(仅保证启动顺序,不等待服务内部进程就绪)

从 Docker Compose 文件版本2开始,所有同配置文件下的服务默认会加入一个统一的默认网桥,默认已经支持通过服务名直接互相访问,绝大多数场景下直接删除原配置中的links参数即可正常运行。
如果需要更精细化的网络隔离控制,可通过自定义网络实现,操作步骤如下:

  1. 在docker-compose.yml顶层声明自定义网络
version: '2.3'
services:
  # 服务配置省略
networks:
  app-net:
    driver: bridge
  1. 给需要互通的服务绑定同一个自定义网络
services:
  service1:
    networks:
      - app-net
    # 其他配置省略
  service2:
    networks:
      - app-net
    # 其他配置省略
  1. 原links别名功能的替代:在网络配置中增加aliases字段即可
services:
  service1:
    networks:
      app-net:
        aliases:
          - db # 等效于原links配置中的service1:db别名

若需要保留原links隐式控制启动顺序的能力,可新增depends_on参数配置,功能完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 20:06:04