How To Install Docker Compose on CentOS 7

Install Docker Compose on CentOS 7

In this tutorial, we will show you how to install Docker Compose on your CentOS 7 server. For those of you who didn’t know, Docker Compose is a command-line tool to define and configure multi-container docker applications. In other words, we can say docker-compose is used to link multiple containers and deploy an application from a single command.

This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of Docker Compose on a CentOS 7 server.


  • A server running one of the following operating systems: CentOS 7.
  • It’s recommended that you use a fresh OS install to prevent any potential issues.
  • SSH access to the server (or just open Terminal if you’re on a desktop).
  • A non-root sudo user or access to the root user. We recommend acting as a non-root sudo user, however, as you can harm your system if you’re not careful when acting as the root.

Install Docker Compose on CentOS 7

Step 1. First, let’s start by ensuring your system is up-to-date.

yum clean all
yum -y update

Step 2. Installing Docker using YUM.

Docker is included by default in the CentOS-Extras repository. To install run the following command:

yum -y install docker
yum -y install device-mapper device-mapper-event device-mapper-libs device-mapper-event-libs

Start and enable Docker service:

systemctl start docker.service
systemctl enable docker.service

And verify your work by checking the status of Docker:

systemctl status docker.service

Step 3. Installing Docker Compose.

Once Docker has been installed, install Docker Compose. First of all, install the EPEL repository by executing the command:

yum install epel-release
yum install -y python-pip

Then you can install Docker Compose:

pip install docker-compose

You will also need to upgrade your Python packages on CentOS 7 to get docker-compose to run successfully:

yum upgrade python*

Check the Docker Compose version with the following command:

docker-compose -v

Step 4. Testing Docker Compose.

Now that we have Docker Compose installed, let’s test it with this really simple example, Create a new directory and move into it:

mkdir hello-world
cd hello-world

Create a new YAML file:

nano docker-compose.yml

In this file paste the following content:

image: hello-world

Next, execute the following command in the hello-world directory:

sudo docker-compose up

The output should start with the following:

Output of docker-compose up
Creating helloworld_idroot-compose-test_1...
Attaching to helloworld_idroot-compose-test_1
idroot-compose-test_1 | 
idroot-compose-test_1 | Hello from Docker.
idroot-compose-test_1 | This message shows that your installation appears to be working correctly.
idroot-compose-test_1 |

Docker containers only run as long as the command is active, so the container will stop when the test finishes running.

Congratulations! You have successfully installed Docker Compose. Thanks for using this tutorial for installing Docker Compose on your CentOS 7 system. For additional help or useful information, we recommend you check the official Docker website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!



r00t is a seasoned Linux system administrator with a wealth of experience in the field. Known for his contributions to idroot.us, r00t has authored numerous tutorials and guides, helping users navigate the complexities of Linux systems. His expertise spans across various Linux distributions, including Ubuntu, CentOS, and Debian. r00t's work is characterized by his ability to simplify complex concepts, making Linux more accessible to users of all skill levels. His dedication to the Linux community and his commitment to sharing knowledge makes him a respected figure in the field.
Back to top button