migration

Migrating from Docker Desktop to Podman Desktop

Licence and terms

Docker Desktop
A closed product from Docker.
Podman Desktop
Apache-2.0, Open source
Fit
Full replacement Containers, images, pods and a local Kubernetes through Podman, with Docker API compatibility.

Compatibility

Podman Desktop’s Docker compatibility feature lets the Docker CLI and tools that talk to the Docker socket, such as Testcontainers, Maven or Gradle, run against a Podman engine. Compose v2 applications run through the Compose extension, so docker compose up works on Podman.

How the socket is wired depends on the platform:

Before you switch

  1. Start a Podman machine.
  2. Turn on Settings > Preferences > Docker Compatibility. A Docker Compatibility page then appears under Settings.
  3. On that page, check the system socket status, pick the Docker CLI context, and use Setup… next to Podman Compose CLI Support if Compose is not installed.
  4. Check that docker info --format=json | jq -r .ServerVersion returns the Podman version.
  5. Bring over containers you want to keep: export each one with docker export <container> -o <archive>.tar, then run podman import <archive>.tar.
  6. Where tools do not find the socket, set DOCKER_HOST: unix:// plus the output of podman machine inspect --format '{{.ConnectionInfo.PodmanSocket.Path}}' on macOS, or of podman info --format '{{.Host.RemoteSocket.Path}}' on Linux, and npipe:// plus the PodmanPipe path on Windows. A docker context create podman --docker "host=..." context works too.

Pitfalls

Official guide

Podman Desktop's migration guide ↗

Reviewed on 2026-10-06.

Sources

Other alternatives to Docker Desktop →