Back to Podman

Podman Usage Transfer

transfer.md

5.8.214.3 KB
Original Source

Podman Usage Transfer

This document outlines useful information for ops and dev transfer as it relates to infrastructure that utilizes Podman.

Operational Transfer

Abstract

Podman is a tool for managing Pods, Containers, and Container Images. The CLI for Podman is based on the Docker CLI, although Podman does not require a runtime daemon to be running in order to function. Podman also supports the Docker API via the Podman socket activated system service.

System Tools

Many traditional tools will still be useful, such as pstree, nsenter and lsns. As well as some systemd helpers like systemd-cgls and systemd-cgtop are still just as applicable.

Equivalents

For many troubleshooting and information collection steps, there may be an existing pattern. Following provides equivalent with Podman tools for gathering information or jumping into containers, for operational use.

Development Transfer

There are other equivalents for these tools

Existing StepPodman (and friends)
docker podman
docker attachpodman attach
docker auto-updatepodman auto-update
docker buildpodman build
docker commitpodman commit
docker container podman container
docker container prunepodman container prune
docker cppodman cp
docker createpodman create
docker diffpodman diff
docker eventspodman events
docker execpodman exec
docker exportpodman export
docker historypodman history
docker imagepodman image
docker imagespodman images
docker importpodman import
docker infopodman info
docker inspectpodman inspect
docker killpodman kill
docker loadpodman load
docker loginpodman login
docker logoutpodman logout
docker logspodman logs
docker manifest podman manifest
docker manifest annotatepodman manifest annotate
docker manifest createpodman manifest create
docker manifest inspectpodman manifest inspect
docker manifest pushpodman manifest push
docker manifest rmpodman manifest rm
docker network podman network
docker network connectpodman network connect
docker network createpodman network create
docker network disconnectpodman network disconnect
docker network inspectpodman network inspect
docker network lspodman network ls
docker network rmpodman network rm
docker pausepodman pause
docker portpodman port
docker pspodman ps
docker pullpodman pull
docker pushpodman push
docker renamepodman rename
docker restartpodman restart
docker rmpodman rm
docker rmipodman rmi
docker runpodman run
docker savepodman save
docker searchpodman search
docker secret podman secret
docker secret createpodman secret
docker secret inspectpodman secret
docker secret lspodman secret
docker secret rmpodman secret
docker servicepodman service
docker startpodman start
docker statspodman stats
docker stoppodman stop
docker system podman system
docker system dfpodman system df
docker system eventspodman system events
docker system infopodman system info
docker system prunepodman system prune
docker tagpodman tag
docker toppodman top
docker unpausepodman unpause
docker versionpodman version
docker volume podman volume
docker volume createpodman volume create
docker volume inspectpodman volume inspect
docker volume lspodman volume ls
docker volume prunepodman volume prune
docker volume rmpodman volume rm
docker waitpodman wait

Behavioural differences and pitfalls

These commands behave differently from the commands in Docker:

CommandDescription
podman volume createWhile docker volume create is idempotent, podman volume create raises an error if the volume does already exist. See this docker issue for more information.
podman run -v /tmp/noexist:/tmp ...While docker run -v /tmp/noexist:/tmp will create non existing volumes on the host, Podman will report that the volume does not exist. The Podman team sees this as a bug in Docker.

Missing commands in podman

Those Docker commands currently do not have equivalents in podman:

Missing commandDescription
docker builder
docker buildx
docker config
docker context
docker container updatepodman does not support altering running containers. We recommend recreating containers with the correct arguments.
docker node
docker pluginpodman does not support plugins. We recommend you use alternative OCI Runtimes or OCI Runtime Hooks to alter behavior of podman.
docker stack
docker swarmpodman does not support swarm. We support Kubernetes for orchestration using CRI-O.
docker trustpodman image trust
docker update

Missing commands in Docker

The following podman commands do not have a Docker equivalent: