podman loginpodman searchpodman pullpodman tagpodman pushpodman rmiregistry.redhat.io/rhel8/httpd-24:latest
| Part | Example | Meaning |
|---|---|---|
| Registry | registry.redhat.io | The server that stores the image |
| Namespace | rhel8 | An organization or project within the registry |
| Repository | httpd-24 | The image's name |
| Tag | latest | Which version; defaults to latest if omitted |
/etc/containers/registries.conf: it uses a configured alias, or prompts you to choose a registry. Fully qualified names avoid surprises.| Registry | What It Offers |
|---|---|
registry.redhat.io | Red Hat certified images; login required |
registry.access.redhat.com | Some Red Hat images, including UBI; no login required |
quay.io | A general-purpose registry for public and private images |
| OpenShift internal registry | Images built and stored inside the cluster |
# Log in once; credentials are saved for later pulls and pushes $ podman login registry.redhat.io $ podman login quay.io # Check who you're logged in as, then log out $ podman login --get-login registry.redhat.io $ podman logout quay.io
${XDG_RUNTIME_DIR}/containers/auth.json, which is cleared at logout or reboot.| Command | Purpose |
|---|---|
podman search TERM | Searches registries for matching images |
podman pull IMAGE | Downloads an image to local storage |
podman images | Lists local images |
podman tag IMAGE NEWNAME | Adds another name to a local image |
podman push IMAGE | Uploads an image to a registry |
podman rmi IMAGE | Removes a local image |
podman inspect IMAGE | Shows an image's metadata as JSON |
podman search httpd is faster than guessing an image's exact name.$ podman login registry.redhat.io $ podman pull registry.redhat.io/rhel8/httpd-24 $ podman images $ podman tag registry.redhat.io/rhel8/httpd-24 quay.io/myorg/httpd-24:v1 $ podman login quay.io $ podman push quay.io/myorg/httpd-24:v1
podman tag doesn't copy anything: both names point at the same image and layers. Pushing to quay.io needs its own login.
# Show the layers an image was built from
$ podman history registry.redhat.io/rhel8/httpd-24
# A tag can be moved to a different image at any time $ podman pull quay.io/myorg/httpd-24:v1 # A digest identifies one exact image, forever $ podman pull quay.io/myorg/httpd-24@sha256:4f1e...c9a2 # Find an image's digest $ podman inspect quay.io/myorg/httpd-24:v1 --format '{{.Digest}}'
:latest today may be a different image tomorrow. Pin production deployments to a digest.podman rmi refuses to remove an image that any container references, even a stopped one. Remove that container first, or use podman rmi -f deliberately: it removes the containers too.$ podman ps -a --filter ancestor=quay.io/myorg/httpd-24:v1
sha256:...)registry.redhat.io and registry.access.redhat.com?:latest?podman rmi would succeed on an image still referenced by a stopped container?