Docker Compose Repository
Estimated reading time: 7 minutes
You can run Compose on macOS, Windows, and 64-bit Linux.
Prerequisites
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 the one or more containers that make up your application are configured. Oct 16, 2020 Install Docker Compose from Ubuntu's repository This is the easiest and recommend method. Unless you need the latest Docker Compose version for some specific reasons, you can manage very well with the docker compose version provides by Ubuntu.
Docker Compose relies on Docker Engine for any meaningful work, so make sure youhave Docker Engine installed either locally or remote, depending on your setup.
Install using Docker Compose. Use this information to quickly start up Community Edition using Docker Compose. Note: While Docker Compose is often used for production deployments, the Docker Compose file provided here is recommended for development and test environments only.
On desktop systems like Docker Desktop for Mac and Windows, Docker Compose isincluded as part of those desktop installs.
On Linux systems, first install theDocker Enginefor your OS as described on the Get Docker page, then come back here forinstructions on installing Compose onLinux systems.
To run Compose as a non-root user, see Manage Docker as a non-root user.
Docker Community Edition 17.09.0-ce-win33 2017-10-06. Bug fixes Fix Docker For Windows unable to start in some cases: removed use of libgmp sometimes causing the vpnkit process to die. Docker Community Edition 17.09.0-ce-win32 2017-10-02. Upgrades Docker 17.09.0-ce; Docker Compose 1.16.1; Docker Machine 0.12.2. Docker for windows 10 home edition version. I have the same thing, but I also noticed that Hyper-V has to be enabled. As in, if your copy of Windows 10 has Hyper-V, you can install it by simply enabling it because it’s already there. On Windows 10 Home, though, there is no Hyper-V to enable. I also have Windows 10 Home. The only option for Home edition users is to use Docker.
Install Compose
Follow the instructions below to install Compose on Mac, Windows, Windows Server2016, or Linux systems, or find out about alternatives like using the pip
Python package manager or installing Compose as a container.
Install a different version
The instructions below outline installation of the current stable release(v1.28.6) of Compose. To install a different version ofCompose, replace the given release number with the one that you want. Composereleases are also listed and available for direct download on theCompose repository release page on GitHub.To install a pre-release of Compose, refer to the install pre-release buildssection.
Install Compose on macOS
Docker Desktop for Mac includes Compose alongwith other Docker apps, so Mac users do not need to install Compose separately.For installation instructions, see Install Docker Desktop on Mac.
Install Compose on Windows desktop systems
Docker Desktop for Windows includes Composealong with other Docker apps, so most Windows users do not need toinstall Compose separately. For install instructions, see Install Docker Desktop on Windows.
If you are running the Docker daemon and client directly on MicrosoftWindows Server, follow the instructions in the Windows Server tab.
Install Compose on Windows Server
Follow these instructions if you are running the Docker daemon and client directlyon Microsoft Windows Server and want to install Docker Compose.
Start an “elevated” PowerShell (run it as administrator).Search for PowerShell, right-click, and chooseRun as administrator. When asked if you want to allow this appto make changes to your device, click Yes.
In PowerShell, since GitHub now requires TLS1.2, run the following:
Then run the following command to download the current stable release ofCompose (v1.28.6):
Note: On Windows Server 2019, you can add the Compose executable to $Env:ProgramFilesDocker
. Because this directory is registered in the system PATH
, you can run the docker-compose --version
command on the subsequent step with no additional configuration.
Test the installation.
Install Compose on Linux systems
On Linux, you can download the Docker Compose binary from theCompose repository release page on GitHub.Follow the instructions from the link, which involve running the curl
commandin your terminal to download the binaries. These step-by-step instructions arealso included below.
For alpine
, the following dependency packages are needed:py-pip
, python3-dev
, libffi-dev
, openssl-dev
, gcc
, libc-dev
, rust
, cargo
and make
.
Run this command to download the current stable release of Docker Compose:
To install a different version of Compose, substitute
1.28.6
with the version of Compose you want to use.If you have problems installing with
curl
, seeAlternative Install Options tab above.Apply executable permissions to the binary:
Note: If the command docker-compose
fails after installation, check your path.You can also create a symbolic link to /usr/bin
or any other directory in your path.
For example:
Optionally, install command completion for the
bash
andzsh
shell.Test the installation.
Alternative install options
Install using pip
For alpine
, the following dependency packages are needed:py-pip
, python3-dev
, libffi-dev
, openssl-dev
, gcc
, libc-dev
, rust
, cargo
, and make
.
Compose can be installed frompypi using pip
. If you installusing pip
, we recommend that you use avirtualenv because many operatingsystems have python system packages that conflict with docker-composedependencies. See the virtualenvtutorial to getstarted.
If you are not using virtualenv,
pip version 6.0 or greater is required.
Install as a container
Compose can also be run inside a container, from a small bash script wrapper. Toinstall compose as a container run this command:
Install pre-release builds
If you’re interested in trying out a pre-release build, you can download releasecandidates from the Compose repository release page on GitHub.Follow the instructions from the link, which involves running the curl
commandin your terminal to download the binaries.
Pre-releases built from the “master” branch are also available for download athttps://dl.bintray.com/docker-compose/master/.
Pre-release builds allow you to try out new features before they are released,but may be less stable.
Upgrading
If you’re upgrading from Compose 1.2 or earlier, remove ormigrate your existing containers after upgrading Compose. This is because, as ofversion 1.3, Compose uses Docker labels to keep track of containers, and yourcontainers need to be recreated to add the labels.
If Compose detects containers that were created without labels, it refusesto run, so that you don’t end up with two sets of them. If you want to keep usingyour existing containers (for example, because they have data volumes you wantto preserve), you can use Compose 1.5.x to migrate them with the followingcommand:
Alternatively, if you’re not worried about keeping them, you can remove them.Compose just creates new ones.
Uninstallation
To uninstall Docker Compose if you installed using curl
:
Docker Compose Repository Tutorial
To uninstall Docker Compose if you installed using pip
:
Got a “Permission denied” error?
If you get a “Permission denied” error using either of the abovemethods, you probably do not have the proper permissions to removedocker-compose
. To force the removal, prepend sudo
to either of the abovecommands and run again.
Where to go next
compose, orchestration, install, installation, docker, documentationLinux Containers
Podman exists to offer a daemonless container engine for managing OCI-compliant containers on your Linux system. Users love it for its ease of adoption as an alternative to Docker. However, many users and the broader container community have been telling us that one missing feature is a 'deal-breaker' for them. Up to now, support for Docker Compose, the command-line utility that orchestrates multiple Docker containers for local development, was missing. Sierra download dmg. With Podman 3.0 now in development upstream, we have begun to support Compose. Here's how it works as a rootful/privileged user.
The following article discusses how to use Compose by using two examples that Docker has curated and maintained in the awesome-compose Git repository.
Start the Podman system service
I am currently using Fedora 33. Before running Compose, ensure that all the required packages are installed and set up the Podman (3.0 or greater) system service using systemd
. Other than Podman and its dependencies, be sure the podman-docker
and docker-compose
packages are installed. After installing the packages, start the Podman systemd
socket-activated service using the following command:
Verify the system service is running by hitting the ping endpoint and see if we get a response. This step needs to be successful before we can proceed further.
We can now confidently run Compose knowing the RESTful API is working.
Examples
Docker Compose Repository Tutorial
As mentioned earlier, I will demonstrate how to use Docker Compose with Podman through two examples. These examples are found at https://github.com/docker/awesome-compose. For these examples, I am cd'ing into the specific directories and executing commands.
Gitea with Postgres
Docker-compose Repository Xenial
This first example defines a base setup for the project Gitea, which describes itself as a community-managed lightweight code hosting solution written in Golang.
Docker Compose Repository Credentials
From within the awesome-compose
Git repository, cd
into gitea-postgres
and then issue the docker-compose up
command.
Docker Compose Repository Name
The README for this docker-compose
setup says to visit localhost:3000 in your browser to verify it is working.