Define and run multi-container applications with Docker
Go to file
Milas Bowman 1e35245390 Print services in dependency order
Currently, `compose config --services` outputs the services in
a random/non-deterministic order.

In Compose v1, this was implicitly topologically sorted because
the project services were pre-sorted. With `compose-go`, the
services are unordered, and the `WithServices()` helper can be
used to iterate in dependency order.

Signed-off-by: Milas Bowman <milasb@gmail.com>
2021-07-21 11:11:38 -04:00
.github Merge pull request #1890 from lorenrh/il-222-release 2021-07-19 15:56:17 +02:00
aci prefer canonical `compose.yaml` file name 2021-06-22 11:23:57 +02:00
api Move compose v2 implementation under pkg/compose with dependencies 2021-06-15 15:52:48 +02:00
cli Fix help text when for context create and kube backend 2021-07-06 15:46:00 -04:00
cmd Print services in dependency order 2021-07-21 11:11:38 -04:00
docs Fix references to docker-compose command 2021-06-28 16:45:44 +02:00
ecs Move compose v2 implementation under pkg/compose with dependencies 2021-06-15 15:52:48 +02:00
internal split compose-cli "docker" and composeV2 cli-plugin release processes 2021-05-27 12:46:39 +02:00
kube Detect new containers on logs --follow 2021-07-12 09:02:51 -03:00
local Move compose e2e tests into pkg 2021-06-28 08:47:58 +02:00
packaging packaging: Add EULA 2020-09-22 15:04:16 +02:00
pkg Merge pull request #1852 from ulyssessouza/logs-follow-scale 2021-07-12 17:23:37 +02:00
scripts Adds s390x support 2021-06-29 12:37:10 +05:30
utils Move compose v2 implementation under pkg/compose with dependencies 2021-06-15 15:52:48 +02:00
.dockerignore packaging: Add EULA 2020-09-22 15:04:16 +02:00
.gitattributes Removed test requiring linux containers 2020-06-11 12:58:58 +02:00
.gitignore Add Azure sovereign cloud support 2021-02-15 18:38:59 -08:00
.golangci.yml add support for detach keys on compose run|exec 2021-06-29 17:27:43 +02:00
BUILDING.md Remove example backend. 2021-01-19 11:29:48 +01:00
CONTRIBUTING.md contributing: Tidy and clarify 2020-09-03 15:54:20 +02:00
Dockerfile split compose-cli "docker" and composeV2 cli-plugin release processes 2021-05-27 12:46:39 +02:00
INSTALL.md install: Fix Linux install instructions and script 2020-09-25 17:01:00 +02:00
LICENSE Add LICENSE and NOTICE files 2020-08-17 10:20:49 +02:00
MAINTAINERS maintainers: Fix typo 2020-12-24 12:26:52 +01:00
Makefile Move compose e2e tests into pkg 2021-06-28 08:47:58 +02:00
NOTICE Update copyright 2020-09-22 12:13:00 +02:00
README.md Update the docker desktop download URL 2021-06-29 07:44:42 -06:00
builder.Makefile Adds s390x support 2021-06-29 12:37:10 +05:30
go.mod Fix dotEnv load path precedence by compose-go bump 2021-07-16 11:03:14 -03:00
go.sum Fix dotEnv load path precedence by compose-go bump 2021-07-16 11:03:14 -03:00
import-restrictions.yaml Remove example backend. 2021-01-19 11:29:48 +01:00

README.md

Docker Compose CLI

Actions Status Actions Status

This Compose CLI tool makes it easy to run Docker containers and Docker Compose applications:

  • locally as a command in the docker CLI, using docker compose ... comands.
  • in the cloud using either Amazon Elastic Container Service (ECS) or Microsoft Azure Container Instances (ACI) using the Docker commands you already know.

Note: Compose CLI is released under the 1.x tag, until "Compose v2" gets a new home

Compose v2 (a.k.a "Local Docker Compose")

The docker compose local command is the next major version for docker-compose, and it supports the same commands and flags, in order to be used as a drop-in replacement. Here is a checklist of docker-compose commands and flags that are implemented in docker compose.

This docker compose local command :

  • has a better integration with the rest of the docker ecosystem (being written in go, it's easier to share functionality with the Docker CLI and other Docker libraries)
  • is quicker and uses more parallelism to run multiple tasks in parallel. It also uses buildkit by default
  • includes additional commands, like docker compose ls to list current compose projects

Note: Compose v2 is released under the 2.x tag, until "Compose v2" gets a new home

Compose v2 can be installed manually as a CLI plugin, by downloading latest v2.x release from https://github.com/docker/compose-cli/releases for your architecture and move into ~/.docker/cli-plugins/docker-compose

Getting started

To get started with Compose CLI, all you need is:

Please create issues to leave feedback.

Examples

Development

See the instructions in BUILDING.md for how to build the CLI and run its tests; including the end to end tests for local containers, ACI, and ECS. The guide also includes instructions for releasing the CLI.

Before contributing, please read the contribution guidelines which includes conventions used in this project.