Podman is an open source container management tool released by RedHat, originally intended to be an alternative to Docker. It is similar to Docker in use, but has significant differences. The biggest difference between it and Docker is the architecture.

Docker is run on a C/S architecture, we usually use the docker command is just a command-line front-end, it needs to call dockerd to complete the actual operation, and dockerd by default is a daemon with root privileges. podman does not need a daemon, directly through the form of fork/exec to start the container, no need to root privileges.

Podman Desktop makes it easy to work with containers in your local environment. Podman Desktop leverages Podman Engine to provide lightweight and daemonless container tools. The tool allows browsing, managing container lifecycles, inspecting containers, images from different container engines, and more.

  • Fast and light

    • No daemons and uses the fastest technology to make Podman Desktop faster.
    • Responsive to the resources used from your environment.
  • Open

    • Podman Desktop is compatible with other container engines while focusing on Podman as the default packaged container engine.
    • This provides end users with a tool to manage all their containers independently of the engine used.
  • Easy

    • Managing the container engine locally can be difficult.
    • Running Kubernetes in a local environment requires a lot of knowledge.
    • Podman Desktop handles this complexity, allowing developers to focus on their code.
  • Scalable Workflow

    • Podman Desktop provides extension points that allow the community to build more functionality.
    • This allows for deeper integration with other tools and technologies to extend the workflow and functionality of the tool.
    • Thereby providing developers with a tool to manage all their containers independently of the engine used.

Features

Podman Desktop has some of the following features.

  1. Manage containers: list, search, check, connect, run and stop containers.

    Manage containers

  2. Build, pull and push images

    • Build images from the tool.
    • Pull and push images through the management repository.
    • Run containers from these images.

    Build, pull and push images

  3. Managing Podman Resources

    • View allocated memory, CPU and storage
    • If needed, create a new machine

    Managing Podman Resources

  4. Compatible with Docker desktop extensions

    • Specify the OCI image of the Docker desktop extension to import it into.
    • Example: Security Scanner deployment to OpenShift extension.

    Compatible with Docker desktop extensions

Extensions

Podman Desktop supports the use of Docker Desktop extensions, Podman Desktop is able to use the Docker Desktop UI plugin by adding wrappers to intercept API calls. By adding Docker Desktop extensions, you can extend Podman Desktop’s functionality.

Extensions

In addition Podman Desktop allows you to use plugins in the background to manage different container engines. By adding new plugins, you can extend the functionality of Podman Desktop, for example by inserting a new container engine such as Podman, Docker, Lima, etc.

Podman Desktop

Extensions are written using JavaScript/Typescript.

Installation

First install Podman 4.x. I’m on a Mac system here, so use brew install podman directly (Mac m1 may have problems) to install it with one click. After the installation is complete, create and start your first Podman machine.

1
2
podman machine init
podman machine start

Once started, you can use the following command to view the installation information.

1
podman info

Once Podman and the corresponding machine are started, you can then install Podman Desktop by directly downloading the latest binaries for Windows, MacOS and Linux from https://github.com/containers/podman-desktop/releases/. Download the latest binaries for Windows, MacOS and Linux directly from , unzip and install them, and then you can use them directly.

Podman