首页 > 解决方案 > 如何在 Docker Compose V3 中扩展服务?

问题描述

我有一个docker-compose.yml看起来像

version: '2'
services:
  redis:
    image: redis

  mysqldb:
    image: mysql:5.7
    environment:
      - MYSQL_ROOT_PASSWORD=passme
      - MYSQL_DATABASE=mydb
      - MYSQL_USER=root

  base:
    build: .
    volumes:
      - .:/proj
    environment:
      - ENV_1=Value_1
      - ENV_2=Value_2
      - ENV_3=Value_3

  worker:
    extends:
      service: base
    command: celery -A proj worker --loglevel=debug
    links:
      - redis
      - mysqldb
    depends_on:
      - mysqldb

  web:
    extends:
      service: base
    links:
      - mysqldb
      - redis
    depends_on:
      - mysqldb
    ports:
      - "8000:8000"
    command: python manage.py runserver 0.0.0.0:8000


现在,我想将它升级version-3

从文档

关键字在 Compose 文件之前的extends早期 Compose 文件格式中受支持version 2.1(请参阅 v1 中的扩展和 v2 中的扩展),但在 Compose 中不支持version 3.x



所以,这是我的问题,如何在不丢失当前功能的情况下使用版本 3 docker-compose 文件?

标签: dockerdocker-compose

解决方案


更新:

使用 docker-compose 1.27,extends版本 3 再次支持: https ://github.com/docker/compose/pull/7588


推荐阅读