Provided by: podman_4.3.1+ds1-5ubuntu1_amd64 bug

NAME

       podman-push - Push an image, manifest list or image index from local storage to elsewhere

SYNOPSIS

       podman push [options] image [destination]

       podman image push [options] image [destination]

DESCRIPTION

       Pushes  an  image,  manifest  list  or  image  index  from  local  storage  to a specified
       destination. Push is mainly used to push images to registries, however podman push can  be
       used  to  save  images  to  tarballs and directories using the following transports: dir:,
       docker-archive:, docker-daemon: and oci-archive:.

Image storage

       Images are pushed from those stored in local image storage.

DESTINATION

       DESTINATION is the location the container image is pushed to. It supports  all  transports
       from  containers-transports(5).  If no transport is specified, the docker (i.e., container
       registry) transport is used.  For remote clients, including  Mac  and  Windows  (excluding
       WSL2) machines, docker is the only supported transport.

              # Push to a container registry
              $ podman push quay.io/podman/stable

              # Push to a container registry via the docker transport
              $ podman push docker://quay.io/podman/stable

              # Push to a container registry with another tag
              $ podman push myimage quay.io/username/myimage

              # Push to a local directory
              $ podman push myimage dir:/tmp/myimage

              # Push to a tarball in the docker-archive format
              $ podman push myimage docker-archive:/tmp/myimage

              # Push to a local docker daemon
              $ sudo podman push myimage docker-daemon:docker.io/library/myimage:33

              # Push to a tarball in the OCI format
              $ podman push myimage oci-archive:/tmp/myimage

OPTIONS

   --authfile=path
       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:  There is also the option to override the default path of the authentication file by
       setting the  REGISTRY_AUTH_FILE  environment  variable.  This  can  be  done  with  export
       REGISTRY_AUTH_FILE=path.

   --cert-dir=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, including Mac and Windows (excluding WSL2)
       machines)

   --compress
       Compress tarball image layers when pushing to  a  directory  using  the  'dir'  transport.
       (default  is same compression type, compressed or uncompressed, as source) Note: This flag
       can only be set when using the dir transport

   --compression-format=gzip | zstd | zstd:chunked
       Specifies  the  compression  format  to  use.   Supported  values  are:  gzip,  zstd   and
       zstd:chunked.  The default is gzip unless overridden in the containers.conf file.

   --creds=[username[:password]]
       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.

   --digestfile=Digestfile
       After  copying  the  image,  write  the  digest of the resulting image to the file.  (This
       option is not  available  with  the  remote  Podman  client,  including  Mac  and  Windows
       (excluding WSL2) machines)

   --disable-content-trust
       This is a Docker-specific option to disable image verification to a container registry and
       is not supported by Podman. This option is  a  NOOP  and  provided  solely  for  scripting
       compatibility.

   --format, -f=format
       Manifest Type (oci, v2s2, or v2s1) to use when pushing an image.

   --quiet, -q
       When writing the output image, suppress progress output

   --remove-signatures
       Discard any pre-existing signatures in the image.

   --sign-by=key
       Add  a “simple signing” signature at the destination using the specified key. (This option
       is not available with the remote Podman client, including Mac and Windows (excluding WSL2)
       machines)

   --sign-by-sigstore-private-key=path
       Add  a  sigstore  signature  at the destination using a private key at the specified path.
       (This option is not available with the remote Podman client,  including  Mac  and  Windows
       (excluding WSL2) machines)

   --sign-passphrase-file=path
       If  signing the image (using either --sign-by or --sign-by-sigstore-private-key), read the
       passphrase to use from the specified path.

   --tls-verify
       Require HTTPS and verify certificates when  contacting  registries  (default:  true).   If
       explicitly  set to true, TLS verification will be used.  If set to false, TLS verification
       will not be used.  If not specified, TLS verification  will  be  used  unless  the  target
       registry is listed as an insecure registry in containers-registries.conf(5)

EXAMPLE

       This  example  pushes  the  image  specified by the imageID to a local directory in docker
       format.

       # podman push imageID dir:/path/to/image

       This example pushes the image specified by the imageID to a local directory in oci format.

       # podman push imageID oci-archive:/path/to/layout:image:tag

       This example pushes the image specified by the  imageID  to  a  container  registry  named
       registry.example.com

       # podman push imageID docker://registry.example.com/repository:tag

       This  example  pushes  the  image  specified  by the imageID to a container registry named
       registry.example.com and saves the digest in the specified digestfile.

       #           podman           push            --digestfile=/tmp/mydigest            imageID
       docker://registry.example.com/repository:tag

       This  example  pushes the image specified by the imageID and puts it into the local docker
       container store

       # podman push imageID docker-daemon:image:tag

       This example pushes the alpine image to umohnani/alpine on dockerhub and reads  the  creds
       from the path given to --authfile

              # podman push --authfile temp-auths/myauths.json alpine docker://docker.io/umohnani/alpine
              Getting image source signatures
              Copying blob sha256:5bef08742407efd622d243692b79ba0055383bbce12900324f75e56f589aedb0
               4.03 MB / 4.03 MB [========================================================] 1s
              Copying config sha256:ad4686094d8f0186ec8249fc4917b71faa2c1030d7b5a025c29f26e19d95c156
               1.41 KB / 1.41 KB [========================================================] 1s
              Writing manifest to image destination
              Storing signatures

       This example pushes the rhel7 image to rhel7-dir with the "oci" manifest type

              # podman push --format oci registry.access.redhat.com/rhel7 dir:rhel7-dir
              Getting image source signatures
              Copying blob sha256:9cadd93b16ff2a0c51ac967ea2abfadfac50cfa3af8b5bf983d89b8f8647f3e4
               71.41 MB / 71.41 MB [======================================================] 9s
              Copying blob sha256:4aa565ad8b7a87248163ce7dba1dd3894821aac97e846b932ff6b8ef9a8a508a
               1.21 KB / 1.21 KB [========================================================] 0s
              Copying config sha256:f1b09a81455c351eaa484b61aacd048ab613c08e4c5d1da80c4c46301b03cf3b
               3.01 KB / 3.01 KB [========================================================] 0s
              Writing manifest to image destination
              Storing signatures

SEE ALSO

       podman(1),    podman-pull(1),    podman-login(1),    containers-certs.d(5),    containers-
       registries.conf(5), containers-transports(5)

                                                                                   podman-push(1)