配置 文件
目录
使用配置文件,您可以定义一组活动配置文件,以便针对各种用途和环境调整 Compose 应用程序模型。
的 services 顶级元素支持用于定义命名用户档案列表的属性。
没有属性的服务始终处于启用状态。profiles
profiles
当列出的服务都与活动服务不匹配时,Compose 会忽略该服务,除非该服务
由命令显式定位。在这种情况下,其配置文件将添加到活动配置文件集中。profiles
注意
所有其他顶级元素不受影响,并且始终处于活动状态。
profiles
对其他服务的引用(通过 或 shared resource syntax )不会
自动启用原本会被活动配置文件忽略的组件。相反
Compose 返回错误。links
extends
service:xxx
说明示例
services:
web:
image: web_image
test_lib:
image: test_lib_image
profiles:
- test
coverage_lib:
image: coverage_lib_image
depends_on:
- test_lib
profiles:
- test
debug_lib:
image: debug_lib_image
depends_on:
- test_lib
profiles:
- debug
在上面的示例中:
- 如果在未启用配置文件的情况下解析 Compose 应用程序模型,则它仅包含该服务。
web
- 如果启用了用户档案,则模型将包含 services 和 ,以及始终启用的 service 。
test
test_lib
coverage_lib
web
- 如果启用了配置文件,则模型将同时包含 和 services,但不包含 和 ,
因此,模型对于 的约束是无效的。
debug
web
debug_lib
test_lib
coverage_lib
depends_on
debug_lib
- 如果启用了配置文件,则模型包含所有服务;和。
debug
test
web
test_lib
coverage_lib
debug_lib
- 如果 Compose 作为要运行的显式服务执行,并且配置文件
处于活动状态,即使未启用配置文件。
test_lib
test_lib
test
test
- 如果执行 Compose 时将显式服务作为要运行的显式服务,则服务和
profile 处于活动状态,并由约束拉入。
coverage_lib
coverage_lib
test
test_lib
depends_on
- 如果 Compose 作为要运行的显式服务执行,则模型再次为
对 的约束无效,因为 和 没有列出 common。
debug_lib
depends_on
debug_lib
debug_lib
test_lib
profiles
- 如果执行 Compose 时将作为要运行的显式服务,并且启用了 profile,则
配置文件将自动启用,并且 Service 将作为依赖项拉入,从
services 和 .
debug_lib
test
debug
test_lib
debug_lib
test_lib
了解如何在 Docker Compose 中使用。profiles