docker-compose

Define and run multi-container applications with Docker

https://github.com/docker/compose

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    2 of 211 committers (0.9%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.9%) to scientific vocabulary

Keywords

docker docker-compose go golang orchestration

Keywords from Contributors

system embedded distribution packaging systemd closember mesh init services dependency-manager
Last synced: 6 months ago · JSON representation

Repository

Define and run multi-container applications with Docker

Basic Info
Statistics
  • Stars: 36,097
  • Watchers: 715
  • Forks: 5,504
  • Open Issues: 95
  • Releases: 0
Topics
docker docker-compose go golang orchestration
Created about 12 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Codeowners Security Notice Maintainers

README.md

Table of Contents

GitHub release PkgGoDev Build Status Go Report Card Codecov OpenSSF Scorecard Docker Compose

Docker Compose is a tool for running multi-container applications on Docker defined using the Compose file format. A Compose file is used to define how one or more containers that make up your application are configured. Once you have a Compose file, you can create and start your application with a single command: docker compose up.

Note: About Docker Swarm Docker Swarm used to rely on the legacy compose file format but did not adopted the compose specification so is missing some of the recent enhancements in the compose syntax. After acquisition by Mirantis swarm isn't maintained by Docker Inc, and as such some Docker Compose features aren't accessible to swarm users.

Where to get Docker Compose

Windows and macOS

Docker Compose is included in Docker Desktop for Windows and macOS.

Linux

You can download Docker Compose binaries from the release page on this repository.

Rename the relevant binary for your OS to docker-compose and copy it to $HOME/.docker/cli-plugins

Or copy it into one of these folders to install it system-wide:

  • /usr/local/lib/docker/cli-plugins OR /usr/local/libexec/docker/cli-plugins
  • /usr/lib/docker/cli-plugins OR /usr/libexec/docker/cli-plugins

(might require making the downloaded file executable with chmod +x)

Quick Start

Using Docker Compose is a three-step process: 1. Define your app's environment with a Dockerfile so it can be reproduced anywhere. 2. Define the services that make up your app in compose.yaml so they can be run together in an isolated environment. 3. Lastly, run docker compose up and Compose will start and run your entire app.

A Compose file looks like this:

yaml services: web: build: . ports: - "5000:5000" volumes: - .:/code redis: image: redis

Contributing

Want to help develop Docker Compose? Check out our contributing documentation.

If you find an issue, please report it on the issue tracker.

Legacy

The Python version of Compose is available under the v1 branch.

Owner

  • Name: Docker
  • Login: docker
  • Kind: organization
  • Email: info@docker.com
  • Location: San Francisco, CA

Docker helps developers bring their ideas to life by conquering the complexity of app development.

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 3,670
  • Total Committers: 211
  • Avg Commits per committer: 17.393
  • Development Distribution Score (DDS): 0.73
Past Year
  • Commits: 445
  • Committers: 48
  • Avg Commits per committer: 9.271
  • Development Distribution Score (DDS): 0.672
Top Committers
Name Email Commits
Nicolas De Loof n****f@g****m 992
Guillaume Tardif g****f@d****m 610
Guillaume Lours 7****s 289
Ulysses Souza u****a@g****m 208
dependabot[bot] 4****] 189
Djordje Lukic d****c@d****m 178
aiordache a****e@d****m 171
Christopher Crone c****e@d****m 158
Milas Bowman m****n@d****m 140
Sebastiaan van Stijn g****b@g****l 118
Laura Brehm l****m@h****m 79
dependabot-preview[bot] 2****] 38
Nick Santos n****s@g****m 36
Joana Hrotko j****o@d****m 27
Nick Sieger n****k@n****m 17
Suleiman Dibirov i****k@g****m 17
CrazyMax c****x 14
Vedant Koditkar v****r@o****m 12
Mathieu Champlon m****n@d****m 10
Mehrad Dadar m****r@g****m 10
Felix Fontein f****x@f****e 9
Michael Crosby c****l@g****m 8
Matt Landis l****m 7
AhmedGrati a****9@g****m 7
Dominik Menke d****m@d****e 7
MohammadHasan Akbari 1****i 6
Amit Saha a****a@a****m 6
Chad Metcalf m****c@g****m 6
Lorena Rangel l****l@d****m 6
Max Proske m****x@m****m 6
and 181 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 1,664
  • Total pull requests: 1,871
  • Average time to close issues: 7 months
  • Average time to close pull requests: 23 days
  • Total issue authors: 1,436
  • Total pull request authors: 165
  • Average comments per issue: 6.49
  • Average comments per pull request: 1.07
  • Merged pull requests: 1,135
  • Bot issues: 2
  • Bot pull requests: 456
Past Year
  • Issues: 462
  • Pull requests: 902
  • Average time to close issues: 6 days
  • Average time to close pull requests: 6 days
  • Issue authors: 414
  • Pull request authors: 74
  • Average comments per issue: 1.84
  • Average comments per pull request: 0.65
  • Merged pull requests: 580
  • Bot issues: 1
  • Bot pull requests: 212
Top Authors
Issue Authors
  • luciangabor (19)
  • ndeloof (8)
  • nicks (7)
  • typoworx-de (7)
  • jamshid (7)
  • nocive (7)
  • ghost (6)
  • felixfontein (6)
  • milas (6)
  • Bman7714 (6)
  • felipecrs (5)
  • thespad (5)
  • rino1 (4)
  • ghevge (4)
  • robinhickmann (4)
Pull Request Authors
  • ndeloof (557)
  • dependabot[bot] (456)
  • glours (253)
  • thaJeztah (86)
  • milas (65)
  • jhrotko (51)
  • idsulik (29)
  • laurazard (17)
  • maxproske (15)
  • crazy-max (15)
  • dvdksn (9)
  • remcokranenburg (9)
  • felixfontein (8)
  • suwakei (8)
  • jarqvi (7)
Top Labels
Issue Labels
kind/bug (965) status/0-triage (675) kind/feature (269) kind/question (175) stale (122) area/build (32) area/networking (31) area/cli (25) kind/enhancement (22) area/env (20) Docker Compose V1 (19) area/config (19) Docker Compose V2 (15) area/volumes (14) area/up (14) duplicate (10) area/watch (10) area/interpolation (6) kind/docs (6) area/tty (5) kind/parity (5) area/run (4) area/profiles (3) area/secrets (3) area/packaging (3) dependencies (2) docker-py (2) area/credentials (2) needs-engine-feature (2) area/depends (2)
Pull Request Labels
dependencies (483) go (140) stale (67) kind/bug (21) area/tests (14) area/desktop (13) kind/enhancement (10) area/cli (10) area/watch (9) kind/feature (9) kind/cleanup (7) kind/docs (5) status/0-triage (5) area/up (4) status/2-code-review (3) area/networking (2) area/build (2) area/config (2) os/windows (2) area/run (1) kind/parity (1) status/3-docs-review (1) status/4-ready-to-merge (1) Docker Compose V2 (1) format/v3 (1) kind/question (1) area/volumes (1)

Packages

  • Total packages: 6
  • Total downloads:
    • pypi 1,322,905 last-month
  • Total docker downloads: 11,944,663,832
  • Total dependent packages: 226
    (may contain duplicates)
  • Total dependent repositories: 4,490
    (may contain duplicates)
  • Total versions: 396
  • Total maintainers: 10
pypi.org: docker-compose

Multi-container orchestration for Docker

  • Versions: 142
  • Dependent Packages: 63
  • Dependent Repositories: 4,283
  • Downloads: 1,310,952 Last month
  • Docker Downloads: 2,042,261,657
Rankings
Docker downloads count: 0.0%
Stargazers count: 0.1%
Forks count: 0.1%
Average: 0.1%
Dependent repos count: 0.2%
Dependent packages count: 0.2%
Downloads: 0.3%
Last synced: 6 months ago
proxy.golang.org: github.com/docker/compose/v2
  • Versions: 112
  • Dependent Packages: 161
  • Dependent Repositories: 193
  • Docker Downloads: 9,902,401,717
Rankings
Docker downloads count: 0.0%
Stargazers count: 0.0%
Forks count: 0.1%
Average: 0.2%
Dependent repos count: 0.5%
Dependent packages count: 0.6%
Last synced: 6 months ago
proxy.golang.org: github.com/docker/compose
  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Docker Downloads: 458
Rankings
Stargazers count: 0.0%
Forks count: 0.1%
Average: 3.6%
Dependent repos count: 4.7%
Dependent packages count: 9.6%
Last synced: 6 months ago
proxy.golang.org: github.com/Docker/compose/v2
  • Versions: 112
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.3%
Average: 5.5%
Dependent repos count: 5.6%
Last synced: 6 months ago
pypi.org: valory-docker-compose

Multi-container orchestration for Docker

  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 11,953 Last month
Rankings
Stargazers count: 0.1%
Forks count: 0.1%
Downloads: 3.0%
Dependent packages count: 4.8%
Average: 5.9%
Dependent repos count: 21.6%
Maintainers (2)
Last synced: 6 months ago
conda-forge.org: docker-compose

Docker Compose is a tool for running multi-container applications on Docker defined using the Compose file format. A Compose file is used to define how one or more containers that make up your application are configured. Once you have a Compose file, you can create and start your application with a single command: docker compose up.

  • Versions: 26
  • Dependent Packages: 1
  • Dependent Repositories: 12
Rankings
Stargazers count: 1.2%
Forks count: 1.5%
Dependent repos count: 10.2%
Average: 10.5%
Dependent packages count: 29.0%
Last synced: 6 months ago

Dependencies

.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/setup-go v3 composite
  • actions/upload-artifact v3 composite
  • codecov/codecov-action v3 composite
  • docker/bake-action v2 composite
  • docker/setup-buildx-action v2 composite
  • docker/setup-qemu-action v2 composite
  • mxschmitt/action-tmate 8b4e4ac71822ed7e0ad5fb3d1c33483e9e8fb270 composite
  • ncipollo/release-action 58ae73b360456532aafd58ee170c045abbeaee37 composite
.github/workflows/merge.yml actions
  • actions/checkout v3 composite
  • actions/setup-go v3 composite
.github/workflows/scorecards.yml actions
  • actions/checkout a12a3943b4bdde767164f792f33f40b04645d846 composite
  • actions/upload-artifact 6673cd052c4cd6fcf4b4e6e60ea986c889389535 composite
  • github/codeql-action/upload-sarif 5f532563584d71fdef14ee64d17bafb34f751ce5 composite
  • ossf/scorecard-action 99c53751e09b9529366343771cc321ec74e9bd3d composite
Dockerfile docker
  • alpine latest build
  • base latest build
  • binary-$TARGETOS latest build
  • binary-unix latest build
  • build-base latest build
  • docs-build latest build
  • ghcr.io/google/addlicense ${ADDLICENSE_VERSION} build
  • golang ${GO_VERSION}-alpine build
  • golangci/golangci-lint ${GOLANGCI_LINT_VERSION}-alpine build
  • scratch latest build
  • tonistiigi/xx ${XX_VERSION} build
  • vendored latest build
pkg/e2e/fixtures/build-infinite/service1/Dockerfile docker
  • busybox latest build
pkg/e2e/fixtures/build-test/multi-args/Dockerfile docker
  • ${IMAGE} ${TAG} build
pkg/e2e/fixtures/build-test/nginx-build/Dockerfile docker
  • nginx alpine build
pkg/e2e/fixtures/build-test/nginx-build2/Dockerfile docker
  • nginx alpine build
pkg/e2e/fixtures/build-test/platforms/Dockerfile docker
  • alpine latest build
  • golang alpine build
pkg/e2e/fixtures/build-test/platforms/contextServiceA/Dockerfile docker
  • alpine latest build
  • golang alpine build
pkg/e2e/fixtures/build-test/platforms/contextServiceB/Dockerfile docker
  • alpine latest build
  • golang alpine build
pkg/e2e/fixtures/build-test/platforms/contextServiceC/Dockerfile docker
  • alpine latest build
  • golang alpine build
pkg/e2e/fixtures/build-test/privileged/Dockerfile docker
  • alpine latest build
pkg/e2e/fixtures/build-test/secrets/Dockerfile docker
  • alpine latest build
pkg/e2e/fixtures/build-test/ssh/Dockerfile docker
  • alpine latest build
pkg/e2e/fixtures/build-test/tags/Dockerfile docker
  • nginx alpine build
pkg/e2e/fixtures/compose-pull/unknown-image/Dockerfile docker
  • alpine 3.15 build
pkg/e2e/fixtures/dependencies/Dockerfile docker
  • busybox 1.35.0 build
pkg/e2e/fixtures/environment/env-file-comments/Dockerfile docker
  • alpine latest build
pkg/e2e/fixtures/environment/env-priority/Dockerfile docker
  • alpine latest build
pkg/e2e/fixtures/project-volume-bind-test/docker-compose.yml docker
  • nginx latest
pkg/e2e/fixtures/simple-build-test/nginx-build/Dockerfile docker
  • nginx alpine build
pkg/e2e/fixtures/volume-test/nginx-build/Dockerfile docker
  • nginx alpine build
pkg/e2e/fixtures/wrong-composefile/service1/Dockerfile docker
  • nginx latest build
go.mod go
  • github.com/AlecAivazis/survey/v2 v2.3.6
  • github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1
  • github.com/Microsoft/go-winio v0.5.2
  • github.com/beorn7/perks v1.0.1
  • github.com/buger/goterm v1.0.4
  • github.com/bugsnag/bugsnag-go v1.5.0
  • github.com/cenkalti/backoff/v4 v4.1.2
  • github.com/cespare/xxhash/v2 v2.1.2
  • github.com/cloudflare/cfssl v1.4.1
  • github.com/compose-spec/compose-go v1.8.2
  • github.com/containerd/console v1.0.3
  • github.com/containerd/containerd v1.6.15
  • github.com/containerd/continuity v0.3.0
  • github.com/containerd/ttrpc v1.1.0
  • github.com/containerd/typeurl v1.0.2
  • github.com/cucumber/gherkin-go/v19 v19.0.3
  • github.com/cucumber/godog v0.0.0-00010101000000-000000000000
  • github.com/cucumber/godog=>github.com/laurazard/godog v0.0.0-20220922095256-4c4b17abdae7
  • github.com/cucumber/messages-go/v16 v16.0.1
  • github.com/davecgh/go-spew v1.1.1
  • github.com/distribution/distribution/v3 v3.0.0-20221201083218-92d136e113cf
  • github.com/docker/buildx v0.9.1
  • github.com/docker/cli v20.10.20+incompatible
  • github.com/docker/cli-docs-tool v0.5.1
  • github.com/docker/cli=>github.com/docker/cli v20.10.3-0.20221013132413-1d6c6e2367e2+incompatible
  • github.com/docker/distribution v2.8.1+incompatible
  • github.com/docker/docker v20.10.20+incompatible
  • github.com/docker/docker-credential-helpers v0.7.0
  • github.com/docker/docker=>github.com/docker/docker v20.10.3-0.20221021173910-5aac513617f0+incompatible
  • github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c
  • github.com/docker/go-connections v0.4.0
  • github.com/docker/go-metrics v0.0.1
  • github.com/docker/go-units v0.5.0
  • github.com/felixge/httpsnoop v1.0.2
  • github.com/fsnotify/fsnotify v1.6.0
  • github.com/fvbommel/sortorder v1.0.2
  • github.com/go-logr/logr v1.2.3
  • github.com/go-logr/stdr v1.2.2
  • github.com/gofrs/flock v0.8.0
  • github.com/gofrs/uuid v4.2.0+incompatible
  • github.com/gogo/googleapis v1.4.1
  • github.com/gogo/protobuf v1.3.2
  • github.com/golang/mock v1.6.0
  • github.com/golang/protobuf v1.5.2
  • github.com/google/go-cmp v0.5.9
  • github.com/google/gofuzz v1.2.0
  • github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
  • github.com/googleapis/gnostic v0.5.5
  • github.com/gorilla/mux v1.8.0
  • github.com/grpc-ecosystem/go-grpc-middleware v1.3.0
  • github.com/grpc-ecosystem/grpc-gateway v1.16.0
  • github.com/hashicorp/errwrap v1.1.0
  • github.com/hashicorp/go-immutable-radix v1.3.1
  • github.com/hashicorp/go-memdb v1.3.2
  • github.com/hashicorp/go-multierror v1.1.1
  • github.com/hashicorp/go-version v1.6.0
  • github.com/hashicorp/golang-lru v0.5.4
  • github.com/imdario/mergo v0.3.13
  • github.com/inconshreveable/mousetrap v1.0.1
  • github.com/jinzhu/gorm v1.9.11
  • github.com/json-iterator/go v1.1.12
  • github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
  • github.com/klauspost/compress v1.15.9
  • github.com/mattn/go-colorable v0.1.12
  • github.com/mattn/go-isatty v0.0.16
  • github.com/mattn/go-runewidth v0.0.14
  • github.com/mattn/go-shellwords v1.0.12
  • github.com/matttproud/golang_protobuf_extensions v1.0.4
  • github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b
  • github.com/miekg/pkcs11 v1.1.1
  • github.com/mitchellh/mapstructure v1.5.0
  • github.com/moby/buildkit v0.10.4
  • github.com/moby/buildkit=>github.com/moby/buildkit v0.10.1-0.20220816171719-55ba9d14360a
  • github.com/moby/locker v1.0.1
  • github.com/moby/patternmatcher v0.5.0
  • github.com/moby/spdystream v0.2.0
  • github.com/moby/sys/sequential v0.5.0
  • github.com/moby/sys/signal v0.7.0
  • github.com/moby/sys/symlink v0.2.0
  • github.com/moby/term v0.0.0-20221128092401-c43b287e0e0f
  • github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
  • github.com/modern-go/reflect2 v1.0.2
  • github.com/morikuni/aec v1.0.0
  • github.com/opencontainers/go-digest v1.0.0
  • github.com/opencontainers/image-spec v1.1.0-rc2
  • github.com/opencontainers/runc v1.1.3
  • github.com/pelletier/go-toml v1.9.4
  • github.com/pkg/errors v0.9.1
  • github.com/pmezard/go-difflib v1.0.0
  • github.com/prometheus/client_golang v1.12.2
  • github.com/prometheus/client_model v0.2.0
  • github.com/prometheus/common v0.32.1
  • github.com/prometheus/procfs v0.7.3
  • github.com/rivo/uniseg v0.2.0
  • github.com/serialx/hashring v0.0.0-20190422032157-8b2912629002
  • github.com/sirupsen/logrus v1.9.0
  • github.com/spf13/cobra v1.6.1
  • github.com/spf13/pflag v1.0.5
  • github.com/spf13/viper v1.4.0
  • github.com/stretchr/testify v1.8.1
  • github.com/theupdateframework/notary v0.7.0
  • github.com/tonistiigi/fsutil v0.0.0-20220930225714-4638ad635be5
  • github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea
  • github.com/tonistiigi/vt100 v0.0.0-20210615222946-8066bb97264f
  • github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb
  • github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415
  • github.com/xeipuuv/gojsonschema v1.2.0
  • github.com/zmap/zcrypto v0.0.0-20220605182715-4dfcec6e9a8c
  • github.com/zmap/zlint v1.1.0
  • go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.29.0
  • go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.29.0
  • go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.29.0
  • go.opentelemetry.io/otel v1.11.2
  • go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.4.1
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.4.1
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.4.1
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.4.1
  • go.opentelemetry.io/otel/internal/metric v0.27.0
  • go.opentelemetry.io/otel/metric v0.27.0
  • go.opentelemetry.io/otel/sdk v1.4.1
  • go.opentelemetry.io/otel/trace v1.11.2
  • go.opentelemetry.io/proto/otlp v0.12.0
  • golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88
  • golang.org/x/net v0.4.0
  • golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8
  • golang.org/x/sync v0.1.0
  • golang.org/x/sys v0.4.0
  • golang.org/x/term v0.3.0
  • golang.org/x/text v0.6.0
  • golang.org/x/time v0.0.0-20220210224613-90d013bbcef8
  • google.golang.org/appengine v1.6.7
  • google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21
  • google.golang.org/grpc v1.47.0
  • google.golang.org/protobuf v1.28.0
  • gopkg.in/inf.v0 v0.9.1
  • gopkg.in/yaml.v2 v2.4.0
  • gopkg.in/yaml.v3 v3.0.1
  • gotest.tools/v3 v3.4.0
  • k8s.io/api v0.24.1
  • k8s.io/api=>k8s.io/api v0.22.4
  • k8s.io/apimachinery v0.24.1
  • k8s.io/apimachinery=>k8s.io/apimachinery v0.22.4
  • k8s.io/client-go v0.24.1
  • k8s.io/client-go=>k8s.io/client-go v0.22.4
  • k8s.io/klog/v2 v2.60.1
  • k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9
  • sigs.k8s.io/structured-merge-diff/v4 v4.2.1
  • sigs.k8s.io/yaml v1.2.0
go.sum go
  • 981 dependencies
.github/workflows/codeql.yml actions
  • actions/checkout v4 composite
  • actions/setup-go v4 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/autobuild v2 composite
  • github/codeql-action/init v2 composite
.github/workflows/docs-upstream.yml actions
  • actions/checkout v4 composite
  • actions/upload-artifact v3 composite