podman-artifact-push(1)
π podman-artifact-push(1) β General Commands Manual π
okay so bestie, welcome to podman-artifact-push, straight out of the General Commands Manual β yes that's the manual name, we're fancy like that β¨. This is the page where your local OCI artifact finally gets to leave the house and go be famous on an image registry. Let's get into it π¦
πΈ NAME πΈ
podman-artifact-push β push an OCI artifact from local storage to an image registry. literally packing its bags and sending it off π
β¨ SYNOPSIS β¨
podman artifact push [options] image
π«Ά DESCRIPTION π«Ά
So what it does: it pushes an artifact from the local artifact store up to an image registry. that's the whole vibe. no cap. π₯
Like, for example:
# Push artifact to a container registry
$ podman artifact push quay.io/artifact/foobar1:latest
iconic behavior honestly π
π OPTIONS π
--authfile=pathβ the path to your authentication file. The default is${XDG_RUNTIME_DIR}/containers/auth.jsonon Linux, and$HOME/.config/containers/auth.jsonon Windows/macOS. This file is created bypodman login. If the authorization state is not found there,$HOME/.docker/config.jsongets checked instead β that one's set usingdocker login. π
Note bestie: you can also override that default path by setting theREGISTRY_AUTH_FILEenvironment variable, likeexport REGISTRY_AUTH_FILE=path. slay π
--cert-dir=pathβ use the certificates at path (*.crt,*.cert,*.key) to connect to the registry. Default is/etc/containers/certs.d. For the details, peepcontainers-certs.d(5). π§
heads up: this option is not available with the remote Podman client, including Mac and Windows (excluding WSL2) machines. π
--creds=[username[:password]]β the[username[:password]]to use to authenticate with the registry, if it's required. If one or both values aren't supplied, a command line prompt pops up and you can enter the value there. The password is entered without echo β stealth mode fr fr π
Note that the specified credentials are only used to authenticate against target registries. They are not used for mirrors or when the registry gets rewritten (seecontainers-registries.conf(5)). To authenticate against those, consider using acontainers-auth.json(5)file instead. iykyk π
--digestfile=Digestfileβ after copying the image, write the digest of the resulting image to the file. Receipts, basically π§Ύ--quiet,-qβ suppress informational output messages (the ones telling you which instruction is being processed and the progress of the instruction). Print only the final error message or the successful completion info, such as the image or container ID. lowkey peaceful π--retry=attemptsβ how many times to retry pulling or pushing images between the registry and local storage if it fails. Default is3. never give up, never surrender πͺ--retry-delay=durationβ the duration of delay between retry attempts when pulling or pushing images between the registry and local storage if it fails. The default is to start at two seconds and then exponentially back off. If you set this value, that delay is used and no exponential back off occurs. β³--sign-by=keyβ add a βsimple signingβ signature at the destination using the specified key. ποΈ
this one's also not available with the remote Podman client, including Mac and Windows (excluding WSL2) machines.
--sign-by-sigstore=param-fileβ add a sigstore signature based on further options specified in a container's sigstore signing parameter file param-file. Seecontainers-sigstore-signing-params.yaml(5)for the deets on the file format. π--sign-by-sigstore-private-key=pathβ add a sigstore signature at the destination using a private key at the specified path. π
again β not available with the remote Podman client, including Mac and Windows (excluding WSL2) machines.
--sign-by-sq-fingerprint=fingerprintβ add a βsimple signingβ signature using a Sequoia-PGP key with the specified fingerprint. π«
and yep, not available with the remote Podman client, including Mac and Windows (excluding WSL2) machines.
--sign-passphrase-file=pathβ if you're signing the image (using--sign-by,sign-by-sq-fingerprintor--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 totrue, TLS verification is used. If set tofalse, TLS verification is not used. If not specified, TLS verification is used unless the target registry is listed as an insecure registry incontainers-registries.conf(5). stay safe out there bestie π‘οΈ
π₯ EXAMPLE π₯
Push the specified image to a container registry:
$ podman artifact push quay.io/baude/artifact:single
Getting image source signatures
Copying blob 3ddc0a3cdb61 done |
Copying config 44136fa355 done |
Writing manifest to image destination
look at it go ππ
β SEE ALSO β
podman(1), podman-artifact(1), podman-pull(1), podman-login(1), containers-certs.d(5)
π HISTORY π
Jan 2025 β originally compiled by Brent Baude bbaude@redhat.com β¨mailto:bbaude@redhat.comβ© π«Ά
and that's the whole page, bestie!! π
β¨ππ¦πΈ this was podman-artifact-push(1) from the General Commands Manual, dated Jan 2025, and the footer is literally just podman-artifact-push(1) again because the man page said so. go push something iconic πππ
π¦ where this page comes from
- arch rolling: podman-docker 6.1.4-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms