2022-09-28 14:57:30 +02:00
|
|
|
# Table of Contents
|
|
|
|
- [Docker Compose v2](#docker-compose-v2)
|
|
|
|
- [Where to get Docker Compose](#where-to-get-docker-compose)
|
|
|
|
+ [Windows and macOS](#windows-and-macos)
|
|
|
|
+ [Linux](#linux)
|
|
|
|
- [Quick Start](#quick-start)
|
|
|
|
- [Contributing](#contributing)
|
2023-08-10 11:28:59 +02:00
|
|
|
- [Legacy](#legacy)
|
2021-08-31 18:53:24 +02:00
|
|
|
# Docker Compose v2
|
2020-04-06 16:40:40 +02:00
|
|
|
|
2022-08-12 23:29:13 +02:00
|
|
|
[![GitHub release](https://img.shields.io/github/release/docker/compose.svg?style=flat-square)](https://github.com/docker/compose/releases/latest)
|
|
|
|
[![PkgGoDev](https://img.shields.io/badge/go.dev-docs-007d9c?style=flat-square&logo=go&logoColor=white)](https://pkg.go.dev/github.com/docker/compose/v2)
|
2023-08-10 11:28:59 +02:00
|
|
|
[![Build Status](https://img.shields.io/github/actions/workflow/status/docker/compose/ci.yml?label=ci&logo=github&style=flat-square)](https://github.com/docker/compose/actions?query=workflow%3Aci)
|
2022-08-12 23:29:13 +02:00
|
|
|
[![Go Report Card](https://goreportcard.com/badge/github.com/docker/compose/v2?style=flat-square)](https://goreportcard.com/report/github.com/docker/compose/v2)
|
2023-08-10 11:28:59 +02:00
|
|
|
[![Codecov](https://codecov.io/gh/docker/compose/branch/main/graph/badge.svg?token=HP3K4Y4ctu)](https://codecov.io/gh/docker/compose)
|
2022-12-08 20:06:38 +01:00
|
|
|
[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/docker/compose/badge)](https://api.securityscorecards.dev/projects/github.com/docker/compose)
|
2021-08-31 18:53:24 +02:00
|
|
|
![Docker Compose](logo.png?raw=true "Docker Compose Logo")
|
2020-04-06 16:40:40 +02:00
|
|
|
|
2021-08-31 18:53:24 +02:00
|
|
|
Docker Compose is a tool for running multi-container applications on Docker
|
|
|
|
defined using the [Compose file format](https://compose-spec.io).
|
2022-11-29 16:52:22 +01:00
|
|
|
A Compose file is used to define how one or more containers that make up
|
2021-08-31 18:53:24 +02:00
|
|
|
your application are configured.
|
|
|
|
Once you have a Compose file, you can create and start your application with a
|
2021-09-28 17:03:55 +02:00
|
|
|
single command: `docker compose up`.
|
2021-04-26 16:34:36 +02:00
|
|
|
|
2021-08-31 18:53:24 +02:00
|
|
|
# Where to get Docker Compose
|
2021-04-26 16:34:36 +02:00
|
|
|
|
2021-08-31 18:53:24 +02:00
|
|
|
### Windows and macOS
|
2021-04-26 16:34:36 +02:00
|
|
|
|
2021-08-31 18:53:24 +02:00
|
|
|
Docker Compose is included in
|
|
|
|
[Docker Desktop](https://www.docker.com/products/docker-desktop)
|
|
|
|
for Windows and macOS.
|
2021-05-27 12:10:37 +02:00
|
|
|
|
2021-08-31 18:53:24 +02:00
|
|
|
### Linux
|
2021-05-31 11:56:32 +02:00
|
|
|
|
2021-08-31 18:53:24 +02:00
|
|
|
You can download Docker Compose binaries from the
|
|
|
|
[release page](https://github.com/docker/compose/releases) on this repository.
|
2021-04-26 16:34:36 +02:00
|
|
|
|
2022-12-08 20:06:38 +01:00
|
|
|
Rename the relevant binary for your OS to `docker-compose` and copy it to `$HOME/.docker/cli-plugins`
|
2021-09-28 20:30:35 +02:00
|
|
|
|
2022-09-11 16:28:35 +02:00
|
|
|
Or copy it into one of these folders to install it system-wide:
|
2021-09-28 20:30:35 +02:00
|
|
|
|
|
|
|
* `/usr/local/lib/docker/cli-plugins` OR `/usr/local/libexec/docker/cli-plugins`
|
|
|
|
* `/usr/lib/docker/cli-plugins` OR `/usr/libexec/docker/cli-plugins`
|
|
|
|
|
2022-09-11 16:28:35 +02:00
|
|
|
(might require making the downloaded file executable with `chmod +x`)
|
2021-01-06 11:05:05 +01:00
|
|
|
|
2021-09-29 17:00:26 +02:00
|
|
|
|
2021-08-31 18:53:24 +02:00
|
|
|
Quick Start
|
|
|
|
-----------
|
2020-05-04 23:50:00 +02:00
|
|
|
|
2022-11-29 16:52:22 +01:00
|
|
|
Using Docker Compose is a three-step process:
|
2021-08-31 18:53:24 +02:00
|
|
|
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 `docker-compose.yml` so
|
|
|
|
they can be run together in an isolated environment.
|
2021-09-28 17:03:55 +02:00
|
|
|
3. Lastly, run `docker compose up` and Compose will start and run your entire
|
2021-08-31 18:53:24 +02:00
|
|
|
app.
|
2020-05-04 23:50:00 +02:00
|
|
|
|
2021-08-31 18:53:24 +02:00
|
|
|
A Compose file looks like this:
|
2020-05-04 23:50:00 +02:00
|
|
|
|
2021-08-31 18:53:24 +02:00
|
|
|
```yaml
|
|
|
|
services:
|
|
|
|
web:
|
|
|
|
build: .
|
|
|
|
ports:
|
|
|
|
- "5000:5000"
|
|
|
|
volumes:
|
|
|
|
- .:/code
|
|
|
|
redis:
|
|
|
|
image: redis
|
|
|
|
```
|
2020-04-06 16:43:36 +02:00
|
|
|
|
2021-08-31 18:53:24 +02:00
|
|
|
Contributing
|
|
|
|
------------
|
2020-04-06 16:43:36 +02:00
|
|
|
|
2021-08-31 18:53:24 +02:00
|
|
|
Want to help develop Docker Compose? Check out our
|
|
|
|
[contributing documentation](CONTRIBUTING.md).
|
2020-07-06 09:40:35 +02:00
|
|
|
|
2021-08-31 18:53:24 +02:00
|
|
|
If you find an issue, please report it on the
|
|
|
|
[issue tracker](https://github.com/docker/compose/issues/new/choose).
|
2023-08-10 11:28:59 +02:00
|
|
|
|
|
|
|
Legacy
|
|
|
|
-------------
|
|
|
|
|
2023-09-04 20:57:41 +02:00
|
|
|
The Python version of Compose is available under the `v1` [branch](https://github.com/docker/compose/tree/v1).
|