How to Install Docker Compose on Ubuntu 20.04
4 min read
Docker Compose is a command-line tool that allows you to define and orchestrate multi-container Docker applications. It uses a YAML file to configure the application’s services, networks, and volumes.
With Compose, you can define a portable application environment that you can run on any system. Compose environments are isolated from each other, allowing you to run multiple copies of the same environment on a single host.
Compose is typically used for local development, single host application deployments, and automated testing.
This article explains how to install the latest version of Docker Compose on Ubuntu 20.04. We’ll also explore the basic Docker Compose concepts and commands.
We’re assuming that you have Docker installed on your Ubuntu machine.
Installing Docker Compose on Ubuntu
Docker Compose is a single binary file. The installation is straightforward. We’ll download the file to a directory that is in the system PATH and make it executable.
At the time of writing this article, the latest stable version of Docker Compose is
1.25.5. Before downloading the Compose binary, visit the Compose repository release page on GitHub and check if there is a new version available for download.
curl to download the Compose file into the
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Once the download is complete, apply executable permissions to the file:
sudo chmod +x /usr/local/bin/docker-compose
To verify that the installation was successful, run the following command which will print the Compose version:
The output will look something like this:
docker-compose version 1.25.5, build b02f1306
That’s it! Docker Compose has been installed on your Ubuntu machine, and you can start using it.
Getting Started with Docker Compose
In this section, we’ll use Docker Compose to build a multi-container WordPress application
The first step is to create a project directory:
Open your text editor and create a file called
docker-compose.yml inside the project directory:
Paste the following content:
version: '3' services: db: image: mysql:5.7 restart: always volumes: - db_data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: wordpress wordpress: image: wordpress restart: always volumes: - ./wp_data:/var/www/html ports: - "8080:80" environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_NAME: wordpress WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: password depends_on: - db volumes: db_data: wp_data:
Let’s analyze the structure of the
The first line of the file specifies the version of the Compose file. There are several different versions of the Compose file format with support for specific Docker releases.
Next, you define services, volumes and networks.
In this example, we have services,
wordpress. Each service runs one image, and creates a separate container when docker-compose is run.
Services can use images that are available on DockerHub or images built from the Dockerfile. The service section also includes keys specifying exposed ports, volumes, environment variables, dependencies, and other Docker commands
From the project directory, start up the WordPress application by running the following command:
Compose will pull the images, start the containers, and create the
http://0.0.0.0:8080/ in your browser, and you will see the Wordpress installation screen. At this point, the Wordpress application is up and running and you can start working on your theme or plugin.
To stop Compose press
You can also start the Compose in a detached mode by passing the
docker-compose up -d
To check the running services use the
Name Command State Ports ---------------------------------------------------------------------------------- my_app_db_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp my_app_wordpress_1 docker-entrypoint.sh apach ... Up 0.0.0.0:8080->80/tcp
When Compose is running in detached mode to stop the services, run:
To stop and remove the application containers and networks, use the
Uninstalling Docker Compose
To uninstall Docker Compose, simply remove the binary by typing:
sudo rm /usr/local/bin/docker-compose
We’ve shown you how to install Docker Compose on Ubuntu 20.04. Using Docker Compose can significantly improve your workflow and productivity. You can define your development environment with Docker Compose and share it with the project collaborators.
If you have any questions, please leave a comment below.