# Compose

[Compose files](https://github.com/compose-spec/compose-spec) are a standard for the definition of multi-container platform-agnostic applications. The standard originated with [Docker Compose](https://docs.docker.com/compose/).

The simplest and most common Docker Compose workflow is the `up` command:

```bash
docker-compose up
```

The analogous command with exo is `run`:

```bash
exo run
```

Both with Docker Compose and exo, this will start all the services defined in your compose file and then tail their logs until interrupted. If you prefer "detached mode" (via the `--detach` or `-d` flags), the analogous exo command is `apply`:

```bash
exo apply
```

Most Docker Compose commands have an analogous exo command, often with the same name! Peruse `exo help` for a list.

Please note that Compose compatibility in exo is currently experimental, and not all features are supported yet. However, most simple Compose files should work as they do with Docker Compose. If you encounter something that doesn't work, please [let us know](https://github.com/deref/exo/issues)! We're working hard to acheive feature parity.

## References

* [Compose Specification](https://github.com/compose-spec/compose-spec)
* [Docker Compose](https://docs.docker.com/compose/)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.deref.io/exo/manifests/migrate/compose.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
