Docker Compose is a Python program that lets you easily deploy multiple containers on a server.

Overview of Docker Compose. Estimated reading time: 6 minutes. Looking for Compose file reference? Find the latest version here. Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. I am having this issue in my Mac system 10.11.6 system3:postgres saurabh-gupta2$ docker build -t postgres. Sending build context to Docker daemon 38.91kB Step 1/51: FROM registry.access.redhat.

As you start exploring Docker, you'll learn that often to run a certain web-app, you'll need to run various services (like database, web-server etc) in different containers.

Deploying multiple containers is a lot easier with Docker Compose.

Developers Love Docker. You rated Docker the #1 in 'Most Loved ' and #2 'Most Wanted' platform' in the 2019 StackOverflow Survey. But you also told us that Docker “Just works” is “better than chocolate cake” and is the “Best tool ever, I'm in love.” We love hearing how you love Docker. As of version 18.03, you can use host.docker.internal as the host's IP. Works in Docker for Mac, Docker for Windows, and perhaps other platforms as well. This is an update from the Mac-specific docker.for.mac.localhost, available since version 17.06, and docker.for.mac.host.internal, available since version 17.12, which may also still work on that platform.

In this tutorial, you'll learn two ways of installing Docker Compose on Ubuntu:

Docker get docker command
  • Installing Docker Compose from Ubuntu's repository: Easier method but may not have the latest version of docker compose
  • Installing the latest Docker Compose using PIP: Gets you the newer docker compose version

Keep in mind that to use Docker Compose, you must have Docker installed on Ubuntu.

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 is available in the universe repository of Ubuntu 20.04 and 18.04 so make sure to enable it first:

You probably won't need it but no harm in updating the local cache:

Now you can install Docker Compose in Ubuntu using this command:

You can check that Docker Compose is installed successfully by checking its version:

It should show an output like this:

Install the latest Docker Compose on Ubuntu using PIP

PIP stands for 'PIP Installs Package'. It's a command-line based package manager for installing Python applications.

Since Docker Compose is basically a Python program, you can use PIP to install it.

But before you do that, you need to install PIP on Ubuntu first.

Enable the universe repository first.

Get

Install PIP now:

Now that you have PIP installed use it to install Docker Compose for all users on your Linux system:

Check the Docker Compose version to ensure that it is installed successfully:

You can see that Docker Compose installed via PIP is more recent version.

I hope you were able to successfully install Docker Compose on Ubuntu with this tutorial. Questions and suggestions are welcome.

Become a Member for FREE
Become a member to get the regular Linux newsletter (2-4 times a month) and access member-only contents.

Join the conversation.

Estimated reading time: 5 minutes

Note: You may have been redirected to this page because there is no longera dynamically-linked Docker package for your Linux distribution.

If you want to try Docker or use it in a testing environment, but you’re not ona supported platform, you can try installing from static binaries. If possible,you should use packages built for your operating system, and use your operatingsystem’s package management system to manage Docker installation and upgrades.Be aware that 32-bit static binary archives do not include the Docker daemon.

Static binaries for the Docker daemon binary are only available for Linux (asdockerd). Static binaries for the Docker client are available for Linux and macOS (as docker).

This topic discusses binary installation for both Linux and macOS:

Docker Get Dockerfile From Image

Install daemon and client binaries on Linux

Prerequisites

Before attempting to install Docker from binaries, be sure your host machinemeets the prerequisites:

  • A 64-bit installation
  • Version 3.10 or higher of the Linux kernel. The latest version of the kernelavailable for your platform is recommended.
  • iptables version 1.4 or higher
  • git version 1.7 or higher
  • A ps executable, usually provided by procps or a similar package.
  • XZ Utils 4.9 or higher
  • A properly mountedcgroupfs hierarchy; a single, all-encompassing cgroup mountpoint is not sufficient. See Github issues#2683,#3485,#4568).

Secure your environment as much as possible

OS considerations

Enable SELinux or AppArmor if possible.

It is recommended to use AppArmor or SELinux if your Linux distribution supportseither of the two. This helps improve security and blocks certaintypes of exploits. Review the documentation for your Linux distribution forinstructions for enabling and configuring AppArmor or SELinux.

Security Warning

If either of the security mechanisms is enabled, do not disable it as awork-around to make Docker or its containers run. Instead, configure itcorrectly to fix any problems.

Docker
Docker daemon considerations
  • Enable seccomp security profiles if possible. SeeEnabling seccomp for Docker.

  • Enable user namespaces if possible. See theDaemon user namespace options.

Install static binaries

  1. Download the static binary archive. Go tohttps://download.docker.com/linux/static/stable/(or change stable to nightly or test),choose your hardware platform, and download the .tgz file relating to theversion of Docker Engine you want to install.

  2. Extract the archive using the tar utility. The dockerd and dockerbinaries are extracted.

  3. Optional: Move the binaries to a directory on your executable path, suchas /usr/bin/. If you skip this step, you must provide the path to theexecutable when you invoke docker or dockerd commands.

  4. Start the Docker daemon:

    If you need to start the daemon with additional options, modify the abovecommand accordingly or create and edit the file /etc/docker/daemon.jsonto add the custom configuration options.

  5. Verify that Docker is installed correctly by running the hello-worldimage.

    This command downloads a test image and runs it in a container. When thecontainer runs, it prints an informational message and exits.

Docker install docker-compose

Docker Get Docker Shoes

Install client binaries on macOS

The macOS binary includes the Docker client only. It does not include thedockerd daemon.

  1. Download the static binary archive. Go tohttps://download.docker.com/mac/static/stable/x86_64/,(or change stable to nightly or test),and download the .tgz file relating to the version of Docker Engine you wantto install.

  2. Extract the archive using the tar utility. The docker binary isextracted.

  3. Optional: Move the binary to a directory on your executable path, suchas /usr/local/bin/. If you skip this step, you must provide the path to theexecutable when you invoke docker or dockerd commands.

  4. Verify that Docker is installed correctly by running the hello-worldimage. The value of <hostname> is a hostname or IP address running theDocker daemon and accessible to the client.

    This command downloads a test image and runs it in a container. When thecontainer runs, it prints an informational message and exits.

Upgrade static binaries

To upgrade your manual installation of Docker Engine, first stop anydockerd or dockerd.exe processes running locally, then follow theregular installation steps to install the new version on top of the existingversion.

Next steps

  • Continue to Post-installation steps for Linux.
  • Take a look at the Get started training modules to learn how to build an image and run it as a containerized application.
  • Review the topics in Develop with Docker to learn how to build new applications using Docker.
binaries, installation, docker, documentation, linux