/compose-cli

Easily run your Compose application to the cloud with compose-cli

Primary LanguageGoApache License 2.0Apache-2.0

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.