github.com/containers/podman/v2@v2.2.2-0.20210501105131-c1e07d070c4c/transfer.md (about) 1 ![PODMAN logo](logo/podman-logo-source.svg) 2 # Podman Usage Transfer 3 4 This document outlines useful information for ops and dev transfer as it relates to infrastructure that utilizes `Podman`. 5 6 ## Operational Transfer 7 8 ## Abstract 9 10 Podman is a tool for managing Pods, Containers, and Container Images. The CLI 11 for Podman is based on the Docker CLI, although Podman does not require a 12 runtime daemon to be running in order to function. 13 14 ## System Tools 15 16 Many traditional tools will still be useful, such as `pstree`, `nsenter` and `lsns`. 17 As well as some systemd helpers like `systemd-cgls` and `systemd-cgtop` are still just as applicable. 18 19 ## Equivalents 20 21 For many troubleshooting and information collection steps, there may be an existing pattern. 22 Following provides equivalent with `Podman` tools for gathering information or jumping into containers, for operational use. 23 24 | Existing Step | `Podman` (and friends) | 25 | :--- | :--- | 26 | `docker run` | [`podman run`](./docs/source/markdown/podman-run.1.md) | 27 | `docker exec` | [`podman exec`](./docs/source/markdown/podman-exec.1.md) | 28 | `docker info` | [`podman info`](./docs/source/markdown/podman-info.1.md) | 29 | `docker inspect` | [`podman inspect`](./docs/source/markdown/podman-inspect.1.md) | 30 | `docker logs` | [`podman logs`](./docs/source/markdown/podman-logs.1.md) | 31 | `docker ps` | [`podman ps`](./docs/source/markdown/podman-ps.1.md) | 32 | `docker stats`| [`podman stats`](./docs/source/markdown/podman-stats.1.md)| 33 34 ## Development Transfer 35 36 There are other equivalents for these tools 37 38 | Existing Step | `Podman` (and friends) | 39 | :--- | :--- | 40 | `docker attach` | [`podman attach`](./docs/source/markdown/podman-attach.1.md) | 41 | `docker build` | [`podman build`](./docs/source/markdown/podman-build.1.md) | 42 | `docker commit` | [`podman commit`](./docs/source/markdown/podman-commit.1.md) | 43 | `docker container`|[`podman container`](./docs/source/markdown/podman-container.1.md) | 44 | `docker cp` | [`podman cp`](./docs/source/markdown/podman-cp.1.md) | 45 | `docker create` | [`podman create`](./docs/source/markdown/podman-create.1.md) | 46 | `docker diff` | [`podman diff`](./docs/source/markdown/podman-diff.1.md) | 47 | `docker events` | [`podman events`](./docs/source/markdown/podman-events.1.md) | 48 | `docker export` | [`podman export`](./docs/source/markdown/podman-export.1.md) | 49 | `docker history` | [`podman history`](./docs/source/markdown/podman-history.1.md) | 50 | `docker image` | [`podman image`](./docs/source/markdown/podman-image.1.md) | 51 | `docker images` | [`podman images`](./docs/source/markdown/podman-images.1.md) | 52 | `docker import` | [`podman import`](./docs/source/markdown/podman-import.1.md) | 53 | `docker kill` | [`podman kill`](./docs/source/markdown/podman-kill.1.md) | 54 | `docker load` | [`podman load`](./docs/source/markdown/podman-load.1.md) | 55 | `docker login` | [`podman login`](./docs/source/markdown/podman-login.1.md) | 56 | `docker logout` | [`podman logout`](./docs/source/markdown/podman-logout.1.md) | 57 | `docker network create` | [`podman network create`](./docs/source/markdown/podman-network-create.1.md) | 58 | `docker network inspect` | [`podman network inspect`](./docs/source/markdown/podman-network-inspect.1.md) | 59 | `docker network ls` | [`podman network ls`](./docs/source/markdown/podman-network-ls.1.md) | 60 | `docker network rm` | [`podman network rm`](./docs.source/markdown/podman-network-rm.1.md) | 61 | `docker pause` | [`podman pause`](./docs/source/markdown/podman-pause.1.md) | 62 | `docker port` | [`podman port`](./docs/source/markdown/podman-port.1.md) | 63 | `docker ps` | [`podman ps`](./docs/source/markdown/podman-ps.1.md) | 64 | `docker pull` | [`podman pull`](./docs/source/markdown/podman-pull.1.md) | 65 | `docker push` | [`podman push`](./docs/source/markdown/podman-push.1.md) | 66 | `docker restart` | [`podman restart`](./docs/source/markdown/podman-restart.1.md) | 67 | `docker rm` | [`podman rm`](./docs/source/markdown/podman-rm.1.md) | 68 | `docker rmi` | [`podman rmi`](./docs/source/markdown/podman-rmi.1.md) | 69 | `docker run` | [`podman run`](./docs/source/markdown/podman-run.1.md) | 70 | `docker save` | [`podman save`](./docs/source/markdown/podman-save.1.md) | 71 | `docker search` | [`podman search`](./docs/source/markdown/podman-search.1.md) | 72 | `docker start` | [`podman start`](./docs/source/markdown/podman-start.1.md) | 73 | `docker stop` | [`podman stop`](./docs/source/markdown/podman-stop.1.md) | 74 | `docker system df` | [`podman system df`](./docs/source/markdown/podman-system-df.1.md) | 75 | `docker system info` | [`podman system info`](./docs/source/markdown/podman-system-info.1.md) | 76 | `docker system prune` | [`podman system prune`](./docs/source/markdown/podman-system-prune.1.md) | 77 | `docker system` | [`podman system`](./docs/source/markdown/podman-system.1.md) | 78 | `docker tag` | [`podman tag`](./docs/source/markdown/podman-tag.1.md) | 79 | `docker top` | [`podman top`](./docs/source/markdown/podman-top.1.md) | 80 | `docker unpause` | [`podman unpause`](./docs/source/markdown/podman-unpause.1.md) | 81 | `docker version` | [`podman version`](./docs/source/markdown/podman-version.1.md) | 82 | `docker volume create` | [`podman volume create`](./docs/source/markdown/podman-volume-create.1.md) | 83 | `docker volume inspect`| [`podman volume inspect`](./docs/source/markdown/podman-volume-inspect.1.md)| 84 | `docker volume ls` | [`podman volume ls`](./docs/source/markdown/podman-volume-ls.1.md) | 85 | `docker volume prune` | [`podman volume prune`](./docs/source/markdown/podman-volume-prune.1.md) | 86 | `docker volume rm` | [`podman volume rm`](./docs/source/markdown/podman-volume-rm.1.md) | 87 | `docker volume` | [`podman volume`](./docs/source/markdown/podman-volume.1.md) | 88 | `docker wait` | [`podman wait`](./docs/source/markdown/podman-wait.1.md) | 89 90 **** Use mount to take advantage of the entire linux tool chain rather then just cp. Read [`here`](./docs/podman-cp.1.md) for more information. 91 92 ## Behavioural differences and pitfalls 93 94 These commands behave differently from the commands in Docker: 95 96 | Command | Description | 97 | :--- | :--- | 98 | `podman volume create` | While `docker volume create` is idempotent, `podman volume create` raises an error if the volume does already exist. See this [docker issue](https://github.com/moby/moby/issues/16068) for more information.| 99 100 ## Missing commands in podman 101 102 Those Docker commands currently do not have equivalents in `podman`: 103 104 | Missing command | Description| 105 | :--- | :--- | 106 | `docker container rename` | podman does not support `container rename` - or the `rename` shorthand. We recommend using `podman rm` and `podman create` to create a container with a specific name.| 107 | `docker container update` | podman does not support altering running containers. We recommend recreating containers with the correct arguments.| 108 | `docker node` || 109 | `docker plugin` | podman does not support plugins. We recommend you use alternative OCI Runtimes or OCI Runtime Hooks to alter behavior of podman.| 110 | `docker secret` || 111 | `docker service` || 112 | `docker stack` || 113 | `docker swarm` | podman does not support swarm. We support Kubernetes for orchestration using [CRI-O](https://github.com/cri-o/cri-o).| 114 115 ## Missing commands in Docker 116 117 The following podman commands do not have a Docker equivalent: 118 119 * [`podman container checkpoint`](/docs/source/markdown/podman-container-checkpoint.1.md) 120 * [`podman container cleanup`](/docs/source/markdown/podman-container-cleanup.1.md) 121 * [`podman container exists`](/docs/source/markdown/podman-container-exists.1.md) 122 * [`podman container refresh`](/docs/source/markdown/podman-container-refresh.1.md) 123 * [`podman container restore`](/docs/source/markdown/podman-container-restore.1.md) 124 * [`podman container runlabel`](/docs/source/markdown/podman-container-runlabel.1.md) 125 * [`podman generate kube`](./docs/source/markdown/podman-generate-kube.1.md) 126 * [`podman generate`](./docs/source/markdown/podman-generate.1.md) 127 * [`podman healthcheck run`](/docs/source/markdown/podman-healthcheck-run.1.md) 128 * [`podman image exists`](./docs/source/markdown/podman-image-exists.1.md) 129 * [`podman image sign`](./docs/source/markdown/podman-image-sign.1.md) 130 * [`podman image trust`](./docs/source/markdown/podman-image-trust.1.md) 131 * [`podman mount`](./docs/source/markdown/podman-mount.1.md) 132 * [`podman play kube`](./docs/source/markdown/podman-play-kube.1.md) 133 * [`podman play`](./docs/source/markdown/podman-play.1.md) 134 * [`podman pod create`](./docs/source/markdown/podman-pod-create.1.md) 135 * [`podman pod exists`](./docs/source/markdown/podman-pod-exists.1.md) 136 * [`podman pod inspect`](./docs/source/markdown/podman-pod-inspect.1.md) 137 * [`podman pod kill`](./docs/source/markdown/podman-pod-kill.1.md) 138 * [`podman pod pause`](./docs/source/markdown/podman-pod-pause.1.md) 139 * [`podman pod ps`](./docs/source/markdown/podman-pod-ps.1.md) 140 * [`podman pod restart`](./docs/source/markdown/podman-pod-restart.1.md) 141 * [`podman pod rm`](./docs/source/markdown/podman-pod-rm.1.md) 142 * [`podman pod start`](./docs/source/markdown/podman-pod-start.1.md) 143 * [`podman pod stop`](./docs/source/markdown/podman-pod-stop.1.md) 144 * [`podman pod top`](./docs/source/markdown/podman-pod-top.1.md) 145 * [`podman pod unpause`](./docs/source/markdown/podman-pod-unpause.1.md) 146 * [`podman pod`](./docs/source/markdown/podman-pod.1.md) 147 * [`podman umount`](./docs/source/markdown/podman-umount.1.md)