学习优先级:★★★★☆
易用性:★★★☆☆
在 Docker Compose 中,可以使用 extends 关键字从其他文件中继承配置,从而提高配置的可重用性和结构化。
以下是一个示例,展示了如何使用 extends 从其他文件中继承配置。
示例代码
docker-compose.yml
version: '3.7'
services:
web:
image: nginx
ports:
- "80:80"
extends:
file: common.yml
service: common-web
common.yml
version: '3.7'
services:
common-web:
environment:
- NODE_ENV=production
- DEBUG=false
执行结果
运行此配置后,web 服务继承了 common-web 的环境变量。
使用 extends 可以将通用配置定义在单独的文件中,这有助于提高代码的模块化和可维护性。如果多个服务需要类似的配置,可以轻松地通过 extends 进行整合。
补充说明
extends 功能在早期版本的 Docker Compose 中引入,但在较新版本中不再推荐使用。相反,建议使用 Docker Compose 模板或在 docker-compose 命令中组合多个文件。例如:
docker-compose -f common.yml -f docker-compose.yml up
这种方式提供了更高的灵活性和更好的实践。