delonix compose
Suporte NATIVO a docker-compose.yml (Compose Spec v2.x) — sem Docker, sem shim, direto para o motor.
NATIVE support for docker-compose.yml (Compose Spec v2.x) — no Docker, no shim, straight into the engine.
Um tradutor de esquema estrangeiro, da mesma família do kind: Pod (k8s) e da
API Docker: parser tipado à mão (sem dependência nova), traduzido directamente para o motor —
containers reaproveitando o mesmo caminho do container run, redes/volumes reaproveitando
network/volume apply verbatim (mesma idempotência, mesmo hardening de input).
depends_on respeita as 3 condições reais do Compose Spec
(service_started/service_healthy/service_completed_successfully)
via ordenação topológica do grafo de serviços — um ciclo dá erro claro, nunca uma ordem arbitrária — e
espera pelo healthcheck real (inline do serviço ou o da própria imagem). O projecto
(compose down/ps/logs) é uma label nos containers; redes/volumes usam nomeação
determinística (<projecto>_<nome>) — sem registo próprio, a mesma filosofia do
stack describe.
A foreign-schema translator, the same family as kind: Pod (k8s)
and the Docker API: a hand-written typed parser (no new dependency), translated directly into the
engine — containers reusing the exact container run path, networks/volumes reusing
network/volume apply verbatim (same idempotency, same input hardening).
depends_on honors the 3 real Compose Spec conditions
(service_started/service_healthy/service_completed_successfully)
via topological ordering of the service graph — a cycle is a clear error, never an arbitrary order
— and waits for the real healthcheck (inline in the service, or the image's own). The project
(compose down/ps/logs) is a label on the containers; networks/volumes use
deterministic naming (<project>_<name>) — no registry of its own, the same
philosophy as stack describe.
📄 Implementação real em Rust: cmd/compose.rs
Usage: delonix compose [OPTIONS] <COMMAND>
Commands:
down Removes every container this project's `up` created
up Creates/starts every service
config Validates and prints the resolved project, without creating anything (`docker compose config` equivalent)
logs Logs of one service (default: every service, one after another)
ps Containers of this project (derived from labels)
help Print this message or the help of the given subcommand(s)
Options:
--l18n <en|pt>
Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
-h, --help
Print help (see a summary with '-h')
COMMAND MAP:
Lifecycle up · down
Inspect ps · logs · config
EXAMPLES:
# a docker-compose.yml running natively — no daemon, no Docker
delonix compose up -d
# what belongs to this project
delonix compose ps
# tear it down, named volumes included
delonix compose down -v
SEE ALSO:
delonix stack apply · delonix container run · delonix volume ls · delonix
network ls
delonix › composePor fazer, documentado (nunca em silêncio)
profiles/extends/configs/secrets top-level (usa
kind: Secret em vez disso) / multi-ficheiro (-f a -f b/include:),
build.target (selecção de estágio), deploy.replicas != 1,
networks.*.ipv4_address fixo, e volumes anónimos (sem source explícito —
precisa de semântica própria de limpeza, ainda por desenhar). working_dir: É aplicado
(via container run -w/--workdir, novo) e uma porta sem host explícito (ports:
["80"]) GANHA uma porta livre real do host, em vez de recusar.
compose up
Creates/starts every service.
Build, then network, then volume, then containers in depends_on order (gated on the declared condition).
Usage: delonix compose up [OPTIONS]
Options:
-f, --file <FILE>
Repeatable — `-f a.yml -f b.yml` merges left-to-right (see the module doc-comment, "Multi-file compose"). No `-f` at all falls back to the usual single-file search
--l18n <en|pt>
Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
-p, --project-name <PROJECT>
--dry-run
Prints the resolved project (containers/networks/volumes) and exits without creating anything
-d, --detach
Accepted for `docker compose` compatibility. Services already start detached here (this engine has no daemon holding them), so this is a no-op rather than an error — every existing script and CI job writes `up -d`, and rejecting it broke all of them for no behavioural gain
--profile <PROFILE>
Activate a service declaring this profile (repeatable). A service with no `profiles:` always runs; one that names some only runs if requested here, or if an activated service `depends_on` it
-h, --help
Print help (see a summary with '-h')
EXAMPLES:
# build, then network, then volumes, then the containers in depends_on order
delonix compose up -d
# a compose file that lives somewhere else
delonix compose up -f docker-compose.yml -d
# the resolved project, creating nothing
delonix compose up --dry-run
# two copies of the same file side by side, told apart by project name
delonix compose up -p staging -d
SEE ALSO:
delonix compose ps · delonix compose logs · delonix compose down · delonix
compose config
delonix › compose › upExemplosExamples
delonix compose updelonix compose up -f infra/docker-compose.yml -p minhaappdelonix compose up --dry-runcompose ps
Containers of this project (derived from labels)
Usage: delonix compose ps [OPTIONS]
Options:
-f, --file <FILE>
--l18n <en|pt>
Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
-p, --project-name <PROJECT>
-h, --help
Print help (see a summary with '-h')
EXAMPLES:
# the containers of this project, derived from their labels
delonix compose ps
# another project up on the same host
delonix compose ps -p staging
SEE ALSO:
delonix compose logs · delonix compose up · delonix container ps
delonix › compose › psExemplosExamples
delonix compose pscompose logs
Logs of one service (default: every service, one after another)
Usage: delonix compose logs [OPTIONS] [SERVICE]
Arguments:
[SERVICE]
Options:
-f, --file <FILE>
--l18n <en|pt>
Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
-p, --project-name <PROJECT>
--follow
No short flag (unlike real `docker compose logs -f`) — `-f` is already `--file` on every subcommand of this group, for consistency across `up`/`down`/`ps`/`config`
-h, --help
Print help (see a summary with '-h')
EXAMPLES:
# every service, one after another
delonix compose logs
# one service only
delonix compose logs web
# follow it live — the flag is --follow here, because -f is already the
# compose file
delonix compose logs web --follow
SEE ALSO:
delonix compose ps · delonix container logs · delonix compose up
delonix › compose › logsExemplosExamples
delonix compose logs dbdelonix compose logscompose config
Validates and prints the resolved project, without creating anything (docker compose config equivalent)
Usage: delonix compose config [OPTIONS]
Options:
-f, --file <FILE>
--l18n <en|pt>
Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
-p, --project-name <PROJECT>
--profile <PROFILE>
Same meaning as `up --profile` — resolve and print as if these profiles were requested
-h, --help
Print help (see a summary with '-h')
EXAMPLES:
# validate the file and print the project it resolves to
delonix compose config
# a file elsewhere, under a project name of your own
delonix compose config -f docker-compose.yml -p staging
SEE ALSO:
delonix compose up · delonix stack validate · delonix compose ps
delonix › compose › configExemplosExamples
delonix compose configcompose down
Removes every container this project's up created.
And, with -v, its named volumes. Networks/volumes marked external: true are NEVER removed.
Usage: delonix compose down [OPTIONS]
Options:
-f, --file <FILE>
Repeatable — must name the SAME file(s) `up` was given, so the project/network/volume names re-derive identically
--l18n <en|pt>
Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
-p, --project-name <PROJECT>
-v, --volumes
-h, --help
Print help (see a summary with '-h')
EXAMPLES:
# remove every container this project's up created
delonix compose down
# and its named volumes — the data goes with them
delonix compose down -v
# a project whose name does not come from the directory
delonix compose down -p staging
SEE ALSO:
delonix compose up · delonix compose ps · delonix stack destroy
delonix › compose › downExemplosExamples
delonix compose downdelonix compose down -vLaboratórioLab
Sobe um docker-compose.yml com uma app que só arranca
depois da base de dados estar saudável (depends_on: condition: service_healthy).
delonix compose up -d
delonix compose ps
delonix compose logs -f appBring up a docker-compose.yml where the app only starts
after the database is healthy (depends_on: condition: service_healthy).
delonix compose up -d
delonix compose ps
delonix compose logs -f appDesafioChallenge
Corre compose down -v e confirma com
delonix volume ls que o volume nomeado do projecto foi mesmo removido — não só os
containers.
Run compose down -v and confirm with
delonix volume ls that the project's named volume was actually removed — not just
the containers.