github.com/hanks177/podman/v4@v4.1.3-0.20220613032544-16d90015bc83/docs/source/markdown/podman-push.1.md (about)

     1  % podman-push(1)
     2  
     3  ## NAME
     4  podman\-push - Push an image, manifest list or image index from local storage to elsewhere
     5  
     6  ## SYNOPSIS
     7  **podman push** [*options*] *image* [*destination*]
     8  
     9  **podman image push** [*options*] *image* [*destination*]
    10  
    11  ## DESCRIPTION
    12  Pushes an image, manifest list or image index from local storage to a specified
    13  destination. Push is mainly used to push images to registries, however
    14  **podman push** can be used to save images to tarballs and directories using the
    15  following transports:
    16  **dir:**, **docker-archive:**, **docker-daemon:** and **oci-archive:**.
    17  
    18  ## Image storage
    19  Images are pushed from those stored in local image storage.
    20  
    21  ## DESTINATION
    22  
    23   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.
    24  
    25  ```
    26  # Push to a container registry
    27  $ podman push quay.io/podman/stable
    28  
    29  # Push to a container registry via the docker transport
    30  $ podman push docker://quay.io/podman/stable
    31  
    32  # Push to a container registry with another tag
    33  $ podman push myimage quay.io/username/myimage
    34  
    35  # Push to a local directory
    36  $ podman push myimage dir:/tmp/myimage
    37  
    38  # Push to a tarball in the docker-archive format
    39  $ podman push myimage docker-archive:/tmp/myimage
    40  
    41  # Push to a local docker daemon
    42  $ sudo podman push myimage docker-daemon:docker.io/library/myimage:33
    43  
    44  # Push to a tarball in the OCI format
    45  $ podman push myimage oci-archive:/tmp/myimage
    46  ```
    47  
    48  ## OPTIONS
    49  
    50  #### **--authfile**=*path*
    51  
    52  Path of the authentication file. Default is ${XDG\_RUNTIME\_DIR}/containers/auth.json, which is set using `podman login`.
    53  If the authorization state is not found there, $HOME/.docker/config.json is checked, which is set using `docker login`.
    54  
    55  Note: You can also override the default path of the authentication file by setting the REGISTRY\_AUTH\_FILE
    56  environment variable. `export REGISTRY_AUTH_FILE=path`
    57  
    58  #### **--cert-dir**=*path*
    59  
    60  Use certificates at *path* (\*.crt, \*.cert, \*.key) to connect to the registry. (Default: /etc/containers/certs.d)
    61  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)
    62  
    63  #### **--compress**
    64  
    65  Compress tarball image layers when pushing to a directory using the 'dir' transport. (default is same compression type, compressed or uncompressed, as source)
    66  Note: This flag can only be set when using the **dir** transport
    67  
    68  #### **--compression-format** *COMPRESSION*
    69  
    70  Specifies the compression format to use.  Supported values are: `gzip`, `zstd` and `zstd:chunked`.  The default is `gzip`.
    71  
    72  #### **--creds**=*[username[:password]]*
    73  
    74  The [username[:password]] to use to authenticate with the registry if required.
    75  If one or both values are not supplied, a command line prompt will appear and the
    76  value can be entered.  The password is entered without echo.
    77  
    78  #### **--digestfile** *Digestfile*
    79  
    80  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)
    81  
    82  #### **--disable-content-trust**
    83  
    84  This is a Docker specific option to disable image verification to a Docker
    85  registry and is not supported by Podman.  This flag is a NOOP and provided
    86  solely for scripting compatibility.
    87  
    88  #### **--format**, **-f**=*format*
    89  
    90  Manifest Type (oci, v2s2, or v2s1) to use when pushing an image.
    91  
    92  #### **--quiet**, **-q**
    93  
    94  When writing the output image, suppress progress output
    95  
    96  #### **--remove-signatures**
    97  
    98  Discard any pre-existing signatures in the image. (This option is not available with the remote Podman client, including Mac and Windows (excluding WSL2) machines)
    99  
   100  #### **--sign-by**=*key*
   101  
   102  Add a 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)
   103  
   104  #### **--tls-verify**
   105  
   106  Require HTTPS and verify certificates when contacting registries (default: true). If explicitly set to true,
   107  then TLS verification will be used. If set to false, then TLS verification will not be used. If not specified,
   108  TLS verification will be used unless the target registry is listed as an insecure registry in registries.conf.
   109  
   110  ## EXAMPLE
   111  
   112  This example pushes the image specified by the imageID to a local directory in docker format.
   113  
   114   `# podman push imageID dir:/path/to/image`
   115  
   116  This example pushes the image specified by the imageID to a local directory in oci format.
   117  
   118   `# podman push imageID oci-archive:/path/to/layout:image:tag`
   119  
   120  This example pushes the image specified by the imageID to a container registry named registry.example.com
   121  
   122   `# podman push imageID docker://registry.example.com/repository:tag`
   123  
   124  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.
   125  
   126   `# podman push --digestfile=/tmp/mydigest imageID docker://registry.example.com/repository:tag`
   127  
   128  This example pushes the image specified by the imageID and puts it into the local docker container store
   129  
   130   `# podman push imageID docker-daemon:image:tag`
   131  
   132  This example pushes the alpine image to umohnani/alpine on dockerhub and reads the creds from
   133  the path given to --authfile
   134  
   135  ```
   136  # podman push --authfile temp-auths/myauths.json alpine docker://docker.io/umohnani/alpine
   137  Getting image source signatures
   138  Copying blob sha256:5bef08742407efd622d243692b79ba0055383bbce12900324f75e56f589aedb0
   139   4.03 MB / 4.03 MB [========================================================] 1s
   140  Copying config sha256:ad4686094d8f0186ec8249fc4917b71faa2c1030d7b5a025c29f26e19d95c156
   141   1.41 KB / 1.41 KB [========================================================] 1s
   142  Writing manifest to image destination
   143  Storing signatures
   144  ```
   145  
   146  This example pushes the rhel7 image to rhel7-dir with the "oci" manifest type
   147  ```
   148  # podman push --format oci registry.access.redhat.com/rhel7 dir:rhel7-dir
   149  Getting image source signatures
   150  Copying blob sha256:9cadd93b16ff2a0c51ac967ea2abfadfac50cfa3af8b5bf983d89b8f8647f3e4
   151   71.41 MB / 71.41 MB [======================================================] 9s
   152  Copying blob sha256:4aa565ad8b7a87248163ce7dba1dd3894821aac97e846b932ff6b8ef9a8a508a
   153   1.21 KB / 1.21 KB [========================================================] 0s
   154  Copying config sha256:f1b09a81455c351eaa484b61aacd048ab613c08e4c5d1da80c4c46301b03cf3b
   155   3.01 KB / 3.01 KB [========================================================] 0s
   156  Writing manifest to image destination
   157  Storing signatures
   158  ```
   159  
   160  ## SEE ALSO
   161  **[podman(1)](podman.1.md)**, **[podman-pull(1)](podman-pull.1.md)**, **[podman-login(1)](podman-login.1.md)**, **[containers-certs.d(5)](https://github.com/containers/image/blob/main/docs/containers-certs.d.5.md)**, **[containers-registries.conf(5)](https://github.com/containers/image/blob/main/docs/containers-registries.conf.5.md)**, **[containers-transports(5)](https://github.com/containers/image/blob/main/docs/containers-transports.5.md)**