Docker Swarm

Docker Swarm on AWS

🎯 Goal

Provision a 3‑node Docker Swarm cluster on AWS using the AWS Console, then manually configure the Swarm and deploy services via SSH. This provides hands-on experience with both AWS infrastructure setup and Docker Swarm administration.

πŸ“‹ Prerequisites

  • AWS Console access with EC2, IAM, and CloudFormation permissions
  • SSH client installed locally
  • EC2 Key Pair created in eu‑west‑1 region
  • Basic familiarity with Linux command line

πŸ“š Learning Objectives

  • Navigate AWS Console to create infrastructure manually
  • Connect to EC2 instances via SSH
  • Initialize Docker Swarm cluster manually across multiple nodes
  • Deploy and manage Docker services using command line
  • Understand the difference between automated vs manual approaches

πŸ“ Step-by-Step Instructions

Step 1: Create Infrastructure via AWS Console

1.1 Create Security Group

  1. Navigate to EC2 Console β†’ Security Groups β†’ Create security group
  2. Security group name: docker-swarm-sg
  3. Description: Security group for Docker Swarm cluster
  4. VPC: Select default VPC
  5. Inbound rules:
    • SSH: Port 22, Source: 0.0.0.0/0 (Your IP recommended)
    • HTTP: Port 80, Source: 0.0.0.0/0
    • Visualizer: Port 8080, Source: 0.0.0.0/0
    • Swarm Management: Port 2377, Source: docker-swarm-sg (self-reference)
    • Swarm Communication: Port 7946 (TCP), Source: docker-swarm-sg
    • Swarm Communication: Port 7946 (UDP), Source: docker-swarm-sg
    • Overlay Network: Port 4789 (UDP), Source: docker-swarm-sg
  6. Click Create security group

1.2 Launch EC2 Instances

  1. Navigate to EC2 Console β†’ Launch Instance

    »