11/23/2021»»Tuesday

Ubuntu Instal Docker Compose

Estimated reading time: 8 minutes

  1. Ubuntu Install Docker Compose
  2. User Guide
  3. Compose File Reference

Accelerating new features in Docker Desktop

Docker Desktop helps you build, share, and run containers easily on Mac and Windows as you do on Linux. Docker handles the complex setup and allows you to focus on writing the code. Thanks to the positive support we received on the subscription updates, we’ve started working on Docker Desktop for Linux which is the second-most popular feature request in our public roadmap. If you are interested in early access, sign up for our Developer Preview program.

This page contains information on how to install Docker Compose. You can run Compose on macOS, Windows, and 64-bit Linux.

Install Docker Compose on Ubuntu. Follow the steps below to install the latest Docker Compose version from its official GitHub repository. At the time of writing, Docker Compose 1.29.2 is the latest stable release. This tutorial will show you how to install the latest version of Docker and Docker Compose on Ubuntu 20.04. We’ll also configure the system, so you don’t need to use sudo to run Docker commands. The steps in this tutorial show you how install Docker manually. Read How to install Docker with Ansible to learn how to automate the process. To install docker compose from the Official Ubuntu repository, run: $ sudo apt install docker-compose. This option will not guarantee that you downloading the latest docker-compose version. Instead of downloading Docker Compose from the Ubuntu repository, we are suggesting downloading the binary package using an URL with the curl command.

Prerequisites

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.

  • 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.

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 pipPython package manager or installing Compose as a container.

Install a different version

The instructions below outline installation of the current stable release(v1.29.2) of Compose. To install a different version ofCompose, replace the given release number with the one that you want. For instructions to install Compose 2.0.0 on Linux, see Install Compose 2.0.0 on Linux.

Compose releases 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.

  1. 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.

  2. In PowerShell, since GitHub now requires TLS1.2, run the following:

    Then run the following command to download the current stable release ofCompose (v1.29.2):

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.

  1. 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.

  1. Run this command to download the current stable release of Docker Compose:

    To install a different version of Compose, substitute 1.29.2with the version of Compose you want to use.

    If you have problems installing with curl, seeAlternative Install Options tab above.

  2. 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.

Ubuntu install docker-compose apt

For example:

  1. Optionally, install command completion for thebash and zsh shell.

  2. 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:

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, documentation

This tutorial will show you how to install the latest version of Docker and Docker Compose on Ubuntu 20.04. We’ll also configure the system, so you don’t need to use sudo to run Docker commands.

Note: The steps in this tutorial show you how install Docker manually. Read How to install Docker with Ansible to learn how to automate the process.

Advertisement

Prerequisites

Before we begin you’ll need access to a clean installation of Ubuntu 20.04. This tutorial shows you how to install it on VMware Fusion (or VMware Workstation if you’re a Windows or Linux user).

You may also want to update your packages to the latest versions by running:

Advertisement

Step 1: Install Dependencies

Run the following command to install the required dependencies.

Step 2: Add Docker Signing Key

Verify the key is correct by running the following command and checking the output matches 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88:

Advertisement

Step 3: Add Docker Stable Repository

Run the following command to add the stable Docker repository to /etc/apt/sources.list

Update package information:

Step 4: Install Docker

Run the following command to install Docker:

Advertisement

Step 5: Add User to Docker group

The last step is to add your local user to the docker group so that you don’t need to use sudo when running Docker commands. Run the following command to add it to the group:

Ubuntu Install Docker Compose

Sign out then back in for the changes to take effect. You should now be able to run an image without using sudo. You can test this by running the hello-world image:

Advertisement

Installing Docker Compose

Docker Compose can be installed with apt by running:

However, using apt will not install the latest version. You can install the latest with curl by running the following commands:

Note: replace 1.27.4 in the URL above with the version you want to install.

User Guide

Conclusion

In this tutorial we installed the latest version of Docker and Docker Compose on Ubuntu Linux 20.04.

These steps are good for one time installations, but if you’ve got hundreds of servers to configure, you might want to automate this process. This tutorial will show you how to automate the installation of Docker with Ansible.

Written by Tony Mackay

Compose File Reference

Software developer, sysadmin and writer. Find me here: https://tonymackay.net

Most Viewed Posts