How to Use Docker Compose for Multi-Container Applications

Docker 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. Then, with a single command, you create and start all the services from your configuration.

Installing Docker Compose

First, make sure you have Docker installed. Then, install Docker Compose:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Defining a Multi-Container Application

Create a docker-compose.yml file to define your multi-container application:

version: '3'
services:
  web:
    image: nginx
    ports:
      - "80:80"
  redis:
    image: redis

Running Your Application

Run the following command in the directory containing your docker-compose.yml file:

docker-compose up

This command starts the services defined in your Compose file.

Managing Your Services

Use the following commands to manage your services:

  • docker-compose down: Stops and removes containers, networks, and volumes.
  • docker-compose ps: Lists containers.
  • docker-compose stop: Stops running containers without removing them.

Conclusion

Docker Compose simplifies the process of managing multi-container applications, making it easier to configure and deploy complex applications.