Scroll to navigation

podman-manifest-push(1)() podman-manifest-push(1)()


podman-manifest-push - Push a manifest list or image index to a registry


podman manifest push [options] listnameorindexname [destination]


Pushes a manifest list or image index to a registry.


The list image's ID and the digest of the image's manifest.



Push the images mentioned in the manifest list or image index, in addition to the list or index itself. (Default true)


Path of the authentication file. Default is ${XDG_RUNTIME_DIR}/containers/auth.json, which is set using podman login. If the authorization state is not found there, $HOME/.docker/config.json is checked, which is set using docker login.

Note: You can also override the default path of the authentication file by setting the REGISTRY_AUTH_FILE environment variable. export REGISTRY_AUTH_FILE=path


Use certificates at path (*.crt, *.cert, *.key) to connect to the registry. (Default: /etc/containers/certs.d) Please refer to containers-certs.d(5) for details. (This option is not available with the remote Podman client)


The [username[:password]] to use to authenticate with the registry if required. If one or both values are not supplied, a command line prompt will appear and the value can be entered. The password is entered without echo.


After copying the image, write the digest of the resulting image to the file.

--format, -f=format

Manifest list type (oci or v2s2) to use when pushing the list (default is oci).

--quiet, -q

When writing the manifest, suppress progress output


Delete the manifest list or image index from local storage if pushing succeeds.


Don't copy signatures when pushing images.


Sign the pushed images using the GPG key that matches the specified fingerprint.


Require HTTPS and verify certificates when talking to container registries. (defaults to true)


The DESTINATION is a location to store container images
The Image "DESTINATION" uses a "transport":"details" format.
If a transport is not given, podman push will attempt to push
to a registry.

Multiple transports are supported:

An existing local directory path storing the manifest, layer tarballs and signatures as individual files. This is a non-standardized format, primarily useful for debugging or noninvasive container inspection.

$ podman manfiest push mylist:v1.11 dir:/tmp/mylist

An image in a registry implementing the "Docker Registry HTTP API V2". By default, uses the authorization state in $XDG_RUNTIME_DIR/containers/auth.json, which is set using (podman login). If the authorization state is not found there, $HOME/.docker/config.json is checked, which is set using (docker login).

$ podman manfiest push mylist:v1.11 docker://

An image is stored in the docker save formatted file. docker-reference is only used when creating such a file, and it must not contain a digest.

$ podman manfiest push mylist:v1.11 docker-archive:/tmp/mylist

An image in docker-reference format stored in the docker daemon internal storage. docker-reference must contain a tag.

$ podman manfiest push mylist:v1.11

An image tag in a directory compliant with "Open Container Image Layout Specification" at path.

$ podman manifest push mylist:v1.11 oci-archive:/tmp/mylist


podman manifest push mylist:v1.11 docker://


podman(1), podman-manifest(1), podman-manifest-add(1), podman-manifest-create(1), podman-manifest-inspect(1), podman-manifest-remove(1), podman-rmi(1), containers-certs.d(5)