Registro de verificação
Os resultados, abertos.
16 testes aprovados em Compose 5.3.0. Escopo: resolução de modelo, sem execução de containers.
UTC: 2026-09-12T13:36:01.023802+00:00
Baixar entradas e resultados em JSON
✓ dot-env-is-not-container-env
Comando executado
docker compose -p composeclinic-proof config --format jsonValores fictícios do shell
{}.env
CC_IMAGE_TAG=1.37
CC_ONLY=not-automatically-injectedcompose.yaml
services:
probe:
image: busybox:${CC_IMAGE_TAG}Resultado observado
{
"image": "busybox:1.37",
"environment": null
}✓ explicit-map-passes-dot-env
Comando executado
docker compose -p composeclinic-proof config --format jsonValores fictícios do shell
{}.env
CC_IMAGE_TAG=1.37
CC_ONLY=not-automatically-injectedcompose.yaml
services:
probe:
image: busybox:${CC_IMAGE_TAG}
environment:
CC_ONLY: ${CC_ONLY:?CC_ONLY must be set}Resultado observado
{
"image": "busybox:1.37",
"environment": {
"CC_ONLY": "not-automatically-injected"
}
}✓ env-file-does-not-feed-model-interpolation
Comando executado
docker compose -p composeclinic-proof config --format jsonValores fictícios do shell
{}app.env
CC_IMAGE_TAG=9.9
CC_APP_MODE=debugcompose.yaml
services:
probe:
image: busybox:${CC_IMAGE_TAG:-1.37}
env_file: app.env
environment:
CC_PASSED: ${CC_APP_MODE:-fallback}Resultado observado
{
"image": "busybox:1.37",
"environment": {
"CC_APP_MODE": "debug",
"CC_IMAGE_TAG": "9.9",
"CC_PASSED": "fallback"
}
}✓ literal-environment-wins
Comando executado
docker compose -p composeclinic-proof config --format jsonValores fictícios do shell
{
"CC_LEVEL": "shell"
}app.env
CC_LEVEL=filecompose.yaml
services:
probe:
image: busybox:1.37
env_file: app.env
environment:
CC_LEVEL: literalResultado observado
{
"environment": {
"CC_LEVEL": "literal"
}
}✓ interpolation-shell-wins
Comando executado
docker compose -p composeclinic-proof --env-file cli.env config --format jsonValores fictícios do shell
{
"CC_LEVEL": "shell"
}.env
CC_LEVEL=dot-envcli.env
CC_LEVEL=cli-fileapp.env
CC_LEVEL=service-filecompose.yaml
services:
probe:
image: busybox:1.37
env_file: app.env
environment:
CC_LEVEL: ${CC_LEVEL:-fallback}Resultado observado
{
"environment": {
"CC_LEVEL": "shell"
}
}✓ interpolation-cli-file
Comando executado
docker compose -p composeclinic-proof --env-file cli.env config --format jsonValores fictícios do shell
{}.env
CC_LEVEL=dot-envcli.env
CC_LEVEL=cli-fileapp.env
CC_LEVEL=service-filecompose.yaml
services:
probe:
image: busybox:1.37
env_file: app.env
environment:
CC_LEVEL: ${CC_LEVEL:-fallback}Resultado observado
{
"environment": {
"CC_LEVEL": "cli-file"
}
}✓ interpolation-default-dot-env
Comando executado
docker compose -p composeclinic-proof config --format jsonValores fictícios do shell
{}.env
CC_LEVEL=dot-envcli.env
CC_LEVEL=cli-fileapp.env
CC_LEVEL=service-filecompose.yaml
services:
probe:
image: busybox:1.37
env_file: app.env
environment:
CC_LEVEL: ${CC_LEVEL:-fallback}Resultado observado
{
"environment": {
"CC_LEVEL": "dot-env"
}
}✓ default-dot-env-project-path
Comando executado
docker compose -p composeclinic-proof -f project/compose.yaml config --format jsonValores fictícios do shell
{}.env
CC_WHICH=callercli.env
CC_WHICH=explicit-caller-fileproject/.env
CC_WHICH=projectproject/config/service.env
CC_SERVICE_PATH=relative-to-compose-fileproject/compose.yaml
services:
probe:
image: busybox:1.37
env_file: config/service.env
environment:
CC_WHICH: ${CC_WHICH:-fallback}Resultado observado
{
"environment": {
"CC_SERVICE_PATH": "relative-to-compose-file",
"CC_WHICH": "project"
}
}✓ explicit-env-file-caller-path
Comando executado
docker compose -p composeclinic-proof --env-file cli.env -f project/compose.yaml config --format jsonValores fictícios do shell
{}.env
CC_WHICH=callercli.env
CC_WHICH=explicit-caller-fileproject/.env
CC_WHICH=projectproject/config/service.env
CC_SERVICE_PATH=relative-to-compose-fileproject/compose.yaml
services:
probe:
image: busybox:1.37
env_file: config/service.env
environment:
CC_WHICH: ${CC_WHICH:-fallback}Resultado observado
{
"environment": {
"CC_SERVICE_PATH": "relative-to-compose-file",
"CC_WHICH": "explicit-caller-file"
}
}✓ wrong-cli-env-path-fails
Comando executado
docker compose -p composeclinic-proof --env-file config/service.env -f project/compose.yaml config --format jsonValores fictícios do shell
{}.env
CC_WHICH=callercli.env
CC_WHICH=explicit-caller-fileproject/.env
CC_WHICH=projectproject/config/service.env
CC_SERVICE_PATH=relative-to-compose-fileproject/compose.yaml
services:
probe:
image: busybox:1.37
env_file: config/service.env
environment:
CC_WHICH: ${CC_WHICH:-fallback}Resultado observado
{
"exit_nonzero": true,
"contains": "couldn't find env file"
}✓ empty-and-unset-defaults
Comando executado
docker compose -p composeclinic-proof config --format jsonValores fictícios do shell
{}.env
CC_EMPTY=compose.yaml
services:
probe:
image: busybox:1.37
environment:
CC_A: ${CC_EMPTY:-fallback}
CC_B: ${CC_EMPTY-fallback}Resultado observado
{
"environment": {
"CC_A": "fallback",
"CC_B": ""
}
}✓ required-empty-fails
Comando executado
docker compose -p composeclinic-proof config --format jsonValores fictícios do shell
{}.env
CC_EMPTY=compose.yaml
services:
probe:
image: busybox:1.37
environment:
CC_VALUE: ${CC_EMPTY:?CC_EMPTY must be set}Resultado observado
{
"exit_nonzero": true,
"contains": "CC_EMPTY must be set"
}✓ port-loopback-v4
Comando executado
docker compose -p composeclinic-proof config --format jsonValores fictícios do shell
{}compose.yaml
services:
probe:
image: busybox:1.37
ports:
- "127.0.0.1:8080:80/tcp"Resultado observado
{
"ports": [
{
"mode": "ingress",
"host_ip": "127.0.0.1",
"target": 80,
"published": "8080",
"protocol": "tcp"
}
]
}✓ port-loopback-v6
Comando executado
docker compose -p composeclinic-proof config --format jsonValores fictícios do shell
{}compose.yaml
services:
probe:
image: busybox:1.37
ports:
- "[::1]:8443:443/tcp"Resultado observado
{
"ports": [
{
"mode": "ingress",
"host_ip": "::1",
"target": 443,
"published": "8443",
"protocol": "tcp"
}
]
}✓ port-all-v4-udp
Comando executado
docker compose -p composeclinic-proof config --format jsonValores fictícios do shell
{}compose.yaml
services:
probe:
image: busybox:1.37
ports:
- "0.0.0.0:5353:53/udp"Resultado observado
{
"ports": [
{
"mode": "ingress",
"host_ip": "0.0.0.0",
"target": 53,
"published": "5353",
"protocol": "udp"
}
]
}✓ port-all-v6
Comando executado
docker compose -p composeclinic-proof config --format jsonValores fictícios do shell
{}compose.yaml
services:
probe:
image: busybox:1.37
ports:
- "[::]:8080:80/tcp"Resultado observado
{
"ports": [
{
"mode": "ingress",
"host_ip": "::",
"target": 80,
"published": "8080",
"protocol": "tcp"
}
]
}