Day 13 || Setting Up Docker Compose on AWS EC2 Instance with Ubuntu

Day 13 || Setting Up Docker Compose on AWS EC2 Instance with Ubuntu

Introduction:

Docker Compose is a powerful tool for defining and managing multi-container Docker applications. In this guide, we'll walk you through the process of setting up Docker Compose on an AWS EC2 instance running Ubuntu. By the end of this tutorial, you'll be able to create and manage multi-container applications effortlessly.

Prerequisites:

Before you begin, make sure you have the following:

  1. An AWS account.

  2. An AWS EC2 instance running Ubuntu.

  3. SSH access to your EC2 instance.

  4. Basic knowledge of Linux commands.

Step 1: Connect to Your EC2 Instance

Open your terminal and use SSH to connect to your EC2 instance:

ssh -i your-key.pem ubuntu@your-ec2-ip

Replace your-key.pem with your SSH key and your-ec2-ip with your EC2 instance's public IP address.

Step 2: Update Package Lists

Update the package lists to ensure you have the latest information about available packages:

sudo apt update

Step 3: Install Docker

Install Docker on your EC2 instance by running the following commands:

sudo apt install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker

Step 4: Install Docker Compose

Docker Compose is not included in the default Ubuntu repositories, so you'll need to download it separately. Use the following commands to install Docker Compose:

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

Step 5: Verify Docker Compose Installation

To ensure Docker Compose was installed successfully, check its version:

docker-compose --version

You should see the version information displayed in the terminal.

Step 6: Create a Docker Compose File

Now, let's create a docker-compose.yml file to define your multi-container application. Here's a basic example:

version: '3'
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
  app:
    image: your-app-image:latest

Replace your-app-image with the image name of your application.

Step 7: Start Your Application

In the directory where your docker-compose.yml file is located, run the following command to start your application:

docker-compose up -d

The -d flag runs the containers in detached mode.

Step 8: Access Your Application

You can now access your application by navigating to your EC2 instance's public IP address in a web browser.

Conclusion:

Congratulations! You've successfully set up Docker Compose on your AWS EC2 instance running Ubuntu and deployed a multi-container application. Docker Compose makes it easy to manage complex applications, and you can expand your setup by defining more services in your docker-compose.yml file.

Did you find this article valuable?

Support Aqib Hafeez(DevOps enthusiast) by becoming a sponsor. Any amount is appreciated!