Join us

Portainer: Podman environment option doesn't support Docker environments

During a recent training session I was leading, I watched a room full of sharp engineers do what engineers do best: follow instructions precisely. We installed Portainer together, step by step, expecting the usual smooth glide into the world of container management. Instead, we hit a wall. A small one. The kind that wastes twenty minutes and drains confidence.

The error message appeared:

The Podman environment option doesn't support Docker environments. 
Please select the Docker option instead.

That was odd. We were very much using Docker, not Podman. Yet Portainer insisted otherwise.

The culprit turned out not to be Docker itself, nor Portainer being "broken," but an API version mismatch. Portainer expects Docker to expose at least API version 1.24. Newer Docker versions still support it, but they do not advertise it unless asked politely.

The fix is almost disappointingly simple, and crucially, it does not require downgrading anything. You tell Docker to expose the minimum API version explicitly.

Edit the Docker systemd service:

systemctl edit docker.service

Add this above the line that warns you it will discard changes:

[Service]
Environment=DOCKER_MIN_API_VERSION=1.24

Save, exit, then restart Docker:

systemctl restart docker

Portainer immediately stops pretending your Docker engine is Podman.

In our case, this was tested on Portainer 2.27.3 LTS Community Edition, and everything worked cleanly afterward. Training resumed. Coffee regained its warmth.

One caveat, because reality always sneaks in. If you are using the Business Edition, you may hit a known issue where docker-compose.yml files do not appear correctly for stacks. The Community Edition does not suffer from this particular annoyance.

Infrastructure fails over the smallest details, a single missing environment variable, a version number assumed but not declared. Systems are honest, but they are not kind.

If you want the original thread where this rabbit hole began, it lives here on GitHub in the Portainer issue tracker.

Also, you might find some of my training materials useful. They are available on FAUN.sensei(). You'll find courses on Docker, Kubernetes, Rancher, DevSecOps, Ansible, and more. Check them out!


Let's keep in touch!

Stay updated with my latest posts and news. I share insights, updates, and exclusive content.

Unsubscribe anytime. By subscribing, you share your email with @eon01 and accept our Terms & Privacy.

Give a Pawfive to this post!


Only registered users can post comments. Please, login or signup.

Start writing about what excites you in tech — connect with developers, grow your voice, and get rewarded.

Join other developers and claim your FAUN.dev() account now!

FAUN.dev()
FAUN.dev()

FAUN.dev() is a developer-first platform built with a simple goal: help engineers stay sharp without wasting their time.

Avatar

Aymen El Amri

Founder, FAUN.dev

@eon01
Founder of FAUN.dev(), author, maker, trainer & software engineer
Developer Influence
3k

Influence

328k

Total Hits

63

Posts

Featured Course(s)
End-to-End Kubernetes with Rancher, RKE2, K3s, Fleet, Longhorn, and NeuVector
End-to-End Kubernetes with Rancher, RKE2, K3s, Fleet, Longhorn, and NeuVector

The full journey from nothing to production

Cloud-Native Microservices With Kubernetes - 2nd Edition
Cloud-Native Microservices With Kubernetes - 2nd Edition

A Comprehensive Guide to Building, Scaling, Deploying, Observing, and Managing Highly-Available Microservices in Kubernetes

Observability with Prometheus and Grafana
Observability with Prometheus and Grafana

A Complete Hands-On Guide to Operational Clarity in Cloud-Native Systems