Back to Info Hub

Docker & Containers

Learn about containerization with Docker and related technologies.

Why Containers Changed Everything

Before containers, deploying software meant wrestling with environment inconsistencies - "it works on my machine" was a daily frustration. Docker solved this by packaging applications with everything they need to run, making deployments reproducible from a developer laptop to a production cluster. Today, containers are the standard unit of deployment for startups and enterprises alike.

At Wizard Tech Services, our web development projects are containerized by default, ensuring smooth handoffs and consistent environments. We also help teams containerize existing applications and set up orchestration as part of our automation and infrastructure services.

Containers vs. VMs

Virtual machines emulate entire operating systems and take minutes to boot. Containers share the host OS kernel and start in milliseconds, using a fraction of the memory. Use VMs when you need full OS isolation; use containers for application-level packaging and rapid scaling.

Dev-to-Prod Parity

Use Docker Compose locally and Kubernetes in production to keep your environments as similar as possible. The same Dockerfile builds the same image everywhere, eliminating configuration drift and "works on my machine" bugs.

Click below to see more information!
Select a category to explore detailed content

Back to Docker

Portainer

A web-based management UI for Docker - manage containers, images, volumes, and networks from your browser.

What Is Portainer?

Portainer is an open-source container management platform that provides a clean web interface for Docker, Docker Swarm, and Kubernetes. Instead of memorizing CLI commands, you can start, stop, inspect, and configure containers through a visual dashboard. Portainer CE (Community Edition) is free for up to 5 environments.

Key Features

  • Visual container, image, and volume management
  • Deploy stacks from Compose files in the browser
  • Real-time container logs and resource stats
  • User and team management with RBAC
  • App templates for one-click deployments
  • Manage multiple Docker hosts from one dashboard

Who It's For

  • Homelab users managing self-hosted services
  • Small teams who prefer GUI over CLI
  • Game server hosts managing multiple containers
  • Admins who want centralized multi-host control
Quick Setup with Docker Compose

Save the following as docker-compose.yml and run docker compose up -d:

services:
  portainer:
    image: portainer/portainer-ce:latest
    container_name: portainer
    restart: unless-stopped
    ports:
      - "9443:9443"
      - "8000:8000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data
    environment:
      - TZ=America/New_York

volumes:
  portainer_data:
    driver: local

$ docker compose up -d

$ # Open https://localhost:9443

$ # Create your admin account on first visit

Security note: Mounting the Docker socket gives Portainer full control over Docker. In production, restrict access with a reverse proxy and authentication, or use Portainer's built-in RBAC to limit user permissions.

What You Can Do in Portainer

Stacks

Deploy and manage Docker Compose stacks directly in the browser. Paste your YAML, hit deploy, and Portainer handles the rest - including updates and rollbacks.

Container Management

Start, stop, restart, and remove containers. View real-time logs, inspect environment variables, open a console directly in the browser, and monitor CPU/memory usage.

App Templates

One-click deployment of popular apps - WordPress, GitLab, Nextcloud, Pi-hole, and more. Custom templates let you standardize deployments across your team.

Multi-Environment

Connect multiple Docker hosts, Swarm clusters, or Kubernetes environments to a single Portainer instance. Manage everything from one dashboard.