// container tooling

Best Docker & Container Tools for Developers

Docker is the foundation of modern backend deployments, but the CLI alone leaves a lot of productivity on the table. These are the tools backend and DevOps engineers actually use day-to-day to inspect, debug, and manage containers.

Quick Reference

  • Docker Desktop / OrbStack — local container runtime
  • Compose — multi-container local stacks (docker compose up)
  • Dive — inspect image layers, shrink size
  • Lens / K9s — operate Kubernetes clusters
  • Portainer — web UI for Docker hosts and swarms
  • LazyDocker — keyboard-driven TUI for containers

Learning Path

Recommended order

  1. 1.Beginner
  2. 2.Intermediate
  3. 3.Advanced

Prerequisites

  • Basic Linux + shell
  • Understanding of HTTP and processes

Skills you will learn

  • Writing efficient multi-stage Dockerfiles
  • Composing local dev stacks with Compose
  • Optimizing image size and layer caching
  • Operating containers in production

Estimated time

1 day to be productive; 1–2 weeks to internalize patterns.

Architecture Overview

Architecture

Containerised Application Stack

BUILDIMAGERUNTIMEDATAdocker builddocker runinternal netSource CodeDockerfileApp Imagemulti-stageApp Containerexposed :8080Postgres ContainerRedis Container
Dockerfile builds a minimal image; Compose runs the app alongside its database and cache on a shared network for local and CI parity.

Docker Desktop

The default starting point for local containers.

Recommended

Docker Desktop bundles the Docker engine, CLI, Compose, and a clean GUI. On Apple Silicon and Windows it's the simplest way to get a working container runtime.

Pros

  • +One-click install
  • +Built-in Kubernetes
  • +Compose UI
  • +Image vulnerability scanning

Cons

  • Paid for companies > 250 employees
  • Heavy resource usage

Best for: Local development on macOS / Windows.

Portainer

Web UI for managing Docker hosts and Kubernetes clusters.

Self-hostable web dashboard that lets you manage containers, stacks, volumes, and networks across multiple hosts.

Pros

  • +Multi-host management
  • +Team RBAC
  • +Open source CE

Cons

  • Some features are Business-tier only

Best for: Teams running Docker on VPS / on-prem.

Dive

Inspect Docker image layers to shrink size.

A TUI for exploring each layer of a Docker image — see exactly which files inflate your image and what you can prune.

Pros

  • +Identifies wasted space
  • +Per-layer file diff
  • +Fits in CI as a size budget check

Cons

  • CLI / TUI only

Best for: Optimizing production image size.

Lens

The Kubernetes IDE.

Lens gives every cluster a desktop UI with logs, metrics, shells, and YAML editing. Works with any kubeconfig.

Pros

  • +Beautiful UI
  • +Built-in metrics & logs
  • +Multi-cluster

Cons

  • Free tier requires account; some features paid

Best for: Day-to-day Kubernetes operations.

Kubernetes Dashboard

The official open-source K8s web UI.

Lightweight, in-cluster dashboard for managing workloads, services, and config.

Pros

  • +Open source
  • +Runs in-cluster
  • +Good for quick clusters

Cons

  • Auth setup is fiddly
  • Less polished than Lens

Best for: Self-hosted clusters where you can't install desktop apps.

LazyDocker

Terminal UI for Docker, one keystroke away.

Keyboard-driven TUI for containers, images, volumes, logs, and stats — without ever leaving your terminal.

Pros

  • +Lightning fast
  • +Keyboard-first
  • +Free and open source

Cons

  • TUI learning curve

Best for: Terminal-first developers.

A realistic container workflow

  1. Build locally with docker build + Docker Desktop.
  2. Inspect image bloat with dive my-image:latest.
  3. Run a Compose stack and watch logs in LazyDocker.
  4. Push to a registry and deploy to Kubernetes (DOKS / EKS / GKE).
  5. Operate the cluster from Lens; expose a Portainer instance for teammates without kubeconfig.

Common Mistakes

  • !Using `latest` tags in production — every deploy becomes a guessing game.
  • !Running everything as root inside the container instead of a non-root user.
  • !Skipping .dockerignore — build context balloons to GB and rebuilds slow to a crawl.
  • !Treating containers as VMs (long-running shells, in-container patches) instead of immutable artifacts.

Production Tips

  • Pin base images by digest (e.g. eclipse-temurin@sha256:…) for reproducible builds.
  • Use multi-stage builds: a JDK 'builder' stage and a small JRE 'runtime' stage.
  • Set HEALTHCHECK in the Dockerfile so orchestrators detect zombie processes.
  • Scan images in CI with `docker scout` or Trivy and fail the build on HIGH/CRITICAL CVEs.

Further Reading

Frequently Asked Questions

Is Docker Desktop still free?

Free for personal use, education, and companies under 250 employees / $10M revenue. Larger companies need a paid subscription.

Lens vs Kubernetes Dashboard — which should I use?

Lens for daily ops on your laptop. Kubernetes Dashboard for in-cluster, browser-based access.