podman/transfer.md
TomSweeneyRedHat ea5620182f Initial podman build
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>

Closes: #162
Approved by: rhatdan
2017-12-23 11:47:33 +00:00

5.4 KiB

PODMAN Usage Transfer

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

Operational Transfer

Abstract

The crio daemon is intended to provide the CRI socket needed for Kubernetes to use for automating deployment, scaling, and management of containerized applications (See the document for configuring kubernetes to use PODMAN for more information on that). Therefore the crioctl command line is a client that interfaces to the same grpc socket as the kubernetes daemon would, for talking to the crio daemon. In many ways crioctl is only as feature rich as the Kubernetes CRI requires. There are additional tools e.g. podman and buildah that provide a feature rich set of commands for all operational needs in a Kubernetes environment.

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.

Existing Step PODMAN (and friends)
docker run podman run
docker exec podman exec
docker info podman info
docker inspect podman inspect
docker logs podman logs
docker ps podman ps
docker stats podman stats

Development Transfer

There are other equivalents for these tools

Existing Step PODMAN (and friends)
docker attach podman exec
docker build podman build
docker commit podman commit
docker cp podman mount ****
docker create podman create
docker diff podman diff
docker export podman export
docker history podman history
docker images podman images
docker import podman import
docker kill podman kill
docker load podman load
docker login podman login
docker logout podman logout
docker pause podman pause
docker ps podman ps
docker pull podman pull
docker push podman push
docker rm podman rm
docker rmi podman rmi
docker run podman run
docker save podman save
docker start podman start
docker stop podman stop
docker tag podman tag
docker top podman top
docker unpause podman unpause
docker version podman version
docker wait podman wait

**** Use mount to take advantage of the entire linux tool chain rather then just cp. Read here for more information.

Missing commands in podman

Those Docker commands currently do not have equivalents in podman:

Missing command Description
docker container
docker events
docker image
docker network
docker node
docker plugin podman does not support plugins. We recommend you use alternative OCI Runtimes or OCI Runtime Hooks to alter behaviour of podman.
docker port
docker rename podman does not support rename, you need to use podman rm and podman create to rename a container.
docker restart podman does not support restart. We recommend that you put your podman containers into a systemd unit file and use it for restarting applications.
docker search
docker secret
docker service
docker stack
docker swarm podman does not support swarm. We support Kubernetes for orchestration using CRI-O.
docker system
docker volume podman does not support volumes. Volumes should be built on the host operating system and then volume mounted into the containers.

Missing commands in Docker

The following podman commands do not have a Docker equivalent: