Mastering Docker Compose : #6

Ishika IshaniIshika Ishani
2 min read

In this guide, we'll explore the essential commands for Docker Compose, from installation to configuration using YAML files.

Installing Docker Compose

To install Docker Compose, simply download the binary and make it executable:

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

Replace <version> with the desired Docker Compose version.

Starting and Stopping Services

To start all services defined in the docker-compose.yml file:

docker-compose up -d

To stop all running services:

docker-compose down

Checking Docker Compose Version

To check the installed Docker Compose version:

docker-compose --version

Running Docker Compose File

To run a Docker Compose file other than docker-compose.yml:

docker-compose -f <filename.yml> up -d

Replace <filename.yml> with the name of the YAML file.

Listing Running Containers

To list all containers started by Docker Compose:

docker-compose ps

Scaling a Service

To scale a service to multiple containers:

docker-compose up -d --scale <service_name>=<num_instances>

Replace <service_name> with the name of the service and <num_instances> with the desired number of instances.

Using YAML File for Configuration

Docker Compose uses YAML files for defining services and their configurations. Below is an example of a basic docker-compose.yml file:

codeversion: '3.8'
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"

This YAML file defines a single service named web, based on the nginx:latest image, and maps port 80 on the host to port 80 on the container.

Conclusion

With these essential Docker Compose commands and YAML configuration, you're well-equipped to streamline your containerized applications. Docker Compose simplifies the process of managing multi-container applications, enabling efficient development and deployment.

10
Subscribe to my newsletter

Read articles from Ishika Ishani directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Ishika Ishani
Ishika Ishani

I am a versatile developer skilled in web development and data science. My expertise includes HTML, CSS, JavaScript, TypeScript, React, Python, Django, Machine Learning, and Data Analysis. I am currently expanding my knowledge in Java and its applications in software development and data science. My diverse skill set enables me to create dynamic web applications and extract meaningful insights from data, driving innovative solutions.