Lazydocker vs Watchtower: Different Docker Tools
⚠️ Watchtower is deprecated. The
containrrr/watchtowerrepository is archived and no longer maintained. Consider DIUN or What’s Up Docker as actively maintained alternatives. This comparison remains available for reference.
Quick Verdict
These tools solve completely different problems. Lazydocker is a terminal UI for monitoring and interacting with Docker containers. Watchtower automatically updates running containers to their latest image versions. You should probably use both — Lazydocker for visibility, Watchtower for automated updates.
Overview
Lazydocker is a terminal-based Docker dashboard (TUI) that shows container status, resource usage, and logs in a single view. You run it on-demand via SSH to check on your Docker environment. Current version: v0.24.4.
Watchtower is a background service that monitors your running containers and automatically pulls new images, recreates containers with updated versions, and cleans up old images. It runs continuously as a Docker container. Current version: v1.7.1 (note: last release November 2023, project in maintenance mode).
These are complementary tools, not competitors. Lazydocker shows you what’s happening now; Watchtower keeps your containers up to date automatically.
Feature Comparison
| Feature | Lazydocker v0.24 | Watchtower v1.7.1 |
|---|---|---|
| Purpose | Monitor & interact | Auto-update containers |
| Interface | Terminal UI | Background daemon |
| Container status view | Yes (real-time) | No (runs silently) |
| Log viewing | Yes | No (own logs only) |
| Resource monitoring | Yes (CPU, RAM) | No |
| Container start/stop | Yes | No (only recreate on update) |
| Image pull | No | Yes (automatic) |
| Container update | No | Yes (automatic) |
| Old image cleanup | No | Yes (optional) |
| Notifications | No | Yes (email, Slack, Gotify, etc.) |
| Scheduling | No (on-demand) | Yes (cron expression) |
| Label-based filtering | No | Yes (per-container opt-in/out) |
| Always running | No | Yes (background service) |
| Resource usage | ~10 MB (while active) | ~15-20 MB |
How They Work
Lazydocker
Launch it from your terminal:
lazydocker
You see a dashboard with all containers, their status, CPU/RAM usage, and logs. Navigate with keyboard shortcuts. Press d to remove a container, s to stop, r to restart. Exit when done — it consumes zero resources when not running.
Watchtower
Deploy as a Docker container:
services:
watchtower:
image: containrrr/watchtower:1.7.1
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
WATCHTOWER_CLEANUP: "true"
WATCHTOWER_SCHEDULE: "0 0 4 * * *"
WATCHTOWER_NOTIFICATIONS: "email"
restart: unless-stopped
Watchtower checks for new image versions on a schedule (daily at 4 AM in this example), pulls updates, and recreates containers with the new images. You never interact with it directly.
Use Cases
Use Lazydocker When…
- You SSH into your server and want a quick overview of all containers
- You need to tail logs for debugging
- You want to check resource usage across containers
- You need to quickly restart or remove a container
- You prefer terminal tools over web UIs
Use Watchtower When…
- You want containers automatically updated to the latest image
- You don’t want to manually run
docker compose pull && docker compose up -d - You want notifications when updates happen
- You want to exclude specific containers from auto-updates (via labels)
- You want old images cleaned up automatically
Use Both When…
- You run a self-hosting setup of any size. Watchtower handles the tedious update cycle; Lazydocker gives you instant visibility when you need it.
Final Verdict
Use both. They solve orthogonal problems. Watchtower runs in the background keeping your containers current. Lazydocker is your on-demand terminal dashboard for when you need to check on things or debug an issue.
If you must choose one: Watchtower provides more ongoing value by automating updates you’d otherwise have to do manually. Lazydocker is convenient but not essential — you can always use docker ps and docker logs directly.
Note on Watchtower: The project hasn’t had a release since November 2023 and appears to be in maintenance mode. It still works well, but if you want an actively developed alternative for update notifications, consider Diun (which notifies you about available updates without automatically applying them).
Frequently Asked Questions
Does Watchtower update Lazydocker?
No. Lazydocker is installed as a binary on the host, not as a Docker container. Watchtower only updates Docker containers.
Can Lazydocker show me when Watchtower updates something?
Indirectly. When Watchtower recreates a container, Lazydocker will show the new container’s start time and the container creation event. But for proper update notifications, use Watchtower’s built-in notification system.
Should I worry about Watchtower being in maintenance mode?
Not immediately. The current version works fine. But if automated updates are critical to your workflow, monitor the project’s GitHub for any activity. Diun is an actively developed alternative that takes a notify-only approach (it tells you about updates but doesn’t apply them automatically).
Related
Get self-hosting tips in your inbox
New guides, comparisons, and setup tutorials — delivered weekly. No spam.