Skip to content

Author’s note

Why I built Docker Commander

Docker Commander grew out of two very practical needs.

First, I wanted a simpler way to keep my own Docker hosts under control. When something went wrong, I was tired of jumping between SSH sessions, docker stats, logs, Compose files and several tools that each solved only one part of the problem. I wanted one place where I could see what was happening, investigate it and act immediately.

The second reason came from teaching. At the university, students need to work with real containers, images, networks, volumes and Compose projects — but too much of the lesson can easily disappear into fighting the command line, permissions and configuration details instead of understanding how Docker actually works.

The goal was never to hide Docker behind a simplified toy interface. Docker Commander exposes the real objects and operations, but makes them easier to discover, inspect and control. Students can see how the pieces fit together, while experienced users can still reach the logs, shell, files, raw configuration and lifecycle controls they need.

What began as a small helper for my own servers and university classes gradually became a broader open-source project. The original principle has remained the same: infrastructure tooling should remove unnecessary complexity, not introduce another stack that needs to be maintained.

Portrait of Filip Majerík

Built by

Filip Majerík

Software developer & university lecturer

Filip Majerík is a software developer, university lecturer and long-time builder of web-based systems. Docker Commander is developed under his direction, shaped by practical infrastructure work, classroom experience and an unreasonable number of occasions spent explaining bind mounts.

He reviews the architecture, behavior and security-sensitive parts of the project, while using AI-assisted development extensively for implementation, testing and documentation.

How much of this was written with AI, and what that does and does not mean, is spelled out further down — and every line of it is public in the repository.

Not a Docker, Inc. product

Docker Commander is an independent open-source project, developed with no affiliation to Docker, Inc. — no support, no sponsorship, no endorsement. It is not part of Docker Desktop, Docker Hub or any commercial Docker offering, and no one at Docker, Inc. reviews or approves it.

It is a third-party client of the public Docker Engine API — the same interface the docker CLI uses. “Docker” and the Docker logo are trademarks or registered trademarks of Docker, Inc., used here only to describe what this software works with.

If you represent Docker, Inc. and consider any use of the marks on this page or in the project inappropriate, please open an issue and it will be corrected.

Roughly 95% written by AI

Code, tests and documentation were largely produced with Claude Code, under human direction and review. This is stated up front because you are about to give this software control of your Docker daemon, and that is a decision you should make knowingly.

What that does not mean is unreviewed output. Every change goes through CI on top of roughly 1,200 Go unit tests and 420 frontend tests, 150 adversarial "pentest" cases that assert attacks are rejected, and integration tests against a real daemon; every change is also scanned by GitHub CodeQL before it ships. The tree is also periodically swept by an independent adversarial review on Claude Fable 5.

  • Human-directed and human-reviewed, not autonomous
  • CI, unit and integration tests on every release
  • 150 adversarial "pentest" cases across auth, deploy and RBAC
  • Read it yourself — all of it is public at koduj-dev/docker-commander

Docker Commander is provided under the MIT license, “as is”, without warranty of any kind. You are responsible for how you deploy it and for what it is allowed to reach — see the note about the Docker socket in the install page.

Support the project

Free, and staying that way

Docker Commander is MIT licensed with no paid tier and nothing held back. If it saves you time, there are three ways to help — two of them free.

Star the repository

Costs nothing and is the signal other people actually use when deciding whether a self-hosted tool is alive.

Star on GitHub

Report or contribute

A precise bug report is worth more than most patches. Feature requests and pull requests are read and answered.

Open an issue

Sponsor the project

Through GitHub Sponsors, one-off or monthly. It covers the domain, the signing infrastructure and the hours — it does not buy the software, which is free either way.

Sponsor on GitHub

Sponsoring buys nothing, because there is nothing to buy: Docker Commander is MIT licensed, every feature ships in the public release, and no capability will ever sit behind a paywall. A sponsorship supports the person maintaining it — it carries no support commitment, no priority and no influence over the roadmap, and it is not a tax-deductible donation.