Blog/DevOps Engineering/Docker/Installation & Setup

Installation & Setup

Let's get Docker installed on your system and run our first container!

Installing Docker

Windows

  1. Download Docker Desktop from docker.com/products/docker-desktop

  2. System Requirements:

    • Windows 10/11 64-bit: Pro, Enterprise, or Education
    • WSL 2 backend (recommended)
    • 4GB RAM minimum

    Note: Docker Desktop automatically sets up WSL2 during installation if it is not already enabled.

  3. Installation Steps:

    # After installation, verify in PowerShell
    docker --version
    docker run hello-world
    

macOS

  1. Download Docker Desktop for Mac (Intel or Apple Silicon)

  2. System Requirements:

    • macOS 11 or newer
    • 4GB RAM minimum
  3. Installation:

    • Drag Docker to Applications
    • Open Docker Desktop
    • Wait for it to start

Linux (Ubuntu/Debian)

# Update package index
sudo apt-get update

# Install prerequisites
sudo apt-get install ca-certificates curl gnupg

# Add Docker's official GPG key
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Install Docker Engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# Run without sudo (optional)
sudo usermod -aG docker $USER
# Note: You must log out and log back in for the group change to take effect.

Verify Installation

Run these commands to verify Docker is installed correctly:

# Check Docker version
docker --version
# Output: Docker version 24.x.x, build xxxxx

# Check Docker Compose
docker compose version
# Output: Docker Compose version v2.x.x

# Run hello-world container
docker run hello-world

Your First Container

Let's run an Nginx web server:

# Pull and run nginx
docker run -d -p 8080:80 --name my-nginx nginx

# Visit http://localhost:8080 in your browser!

# Check logs
docker logs my-nginx

What Just Happened?

FlagMeaning
-dRun in detached mode (background)
-p 8080:80Map port 8080 on host to port 80 in container
--name my-nginxGive the container a name
nginxThe image to use

Essential Docker Commands

# List running containers
docker ps

# List all containers (including stopped)
docker ps -a

# Stop a container
docker stop my-nginx

# Start a container
docker start my-nginx

# Remove a container
docker rm my-nginx

# List downloaded images
docker images

# Remove an image
docker rmi nginx

Docker Desktop Dashboard

Docker Desktop provides a GUI for:

  • Viewing running containers
  • Checking logs
  • Managing images
  • Resource usage monitoring

Important Technical Note

On Linux, Docker runs directly on the host kernel. On Windows and macOS, Docker Desktop runs containers inside a lightweight Linux VM (or WSL2). This ensures consistent behavior across all platforms.

References

  1. Docker Desktop Installation
    docs.docker.com/desktop

  2. Install Docker Engine on Linux
    docs.docker.com/engine/install

  3. Docker CLI Reference
    docs.docker.com/engine/reference/commandline/docker

Next Steps

Now that Docker is installed, let's dive deeper into Images and Containers in the next chapter! 🐳