docker - 如何在 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
关键字在 Compose 文件之前的
extends
早期 Compose 文件格式中受支持version 2.1
(请参阅 v1 中的扩展和 v2 中的扩展),但在 Compose 中不支持version 3.x
所以,这是我的问题,如何在不丢失当前功能的情况下使用版本 3 docker-compose 文件?
解决方案
更新:
使用 docker-compose 1.27,extends
版本 3 再次支持:
https ://github.com/docker/compose/pull/7588
推荐阅读
- bash - 在bash中查找所有以扩展名结尾的文件
- scala - Scala错误类型子类型的表达式不符合预期的类型T
- c# - 在 c# 中的 ssh.net 下命令未完全执行
- python - 如何根据有序列表替换熊猫数据框列中的元素?
- mysql - MySQL比较两个结果并显示增量
- python - 在 Python 中使用文件获取所有进程
- ruby-on-rails - 为什么 ruby REGEX \A...\z 允许在开始时输入任何内容?
- amazon-web-services - AWS 资源(Lambda 和 API 网关)之间传输中的加密
- android - Android前台服务不会停止
- c# - 了解通过 SSL 进行调用的代码