GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
podman-manifest(1) FreeBSD General Commands Manual podman-manifest(1)

podman-manifest - Create and manipulate manifest lists and image indexes

podman manifest subcommand

The podman manifest command provides subcommands which can be used to:

* Create a working Docker manifest list or OCI image index.

Command Man Page Description
add podman-manifest-add(1) Add an image or artifact to a manifest list or image index.
annotate podman-manifest-annotate(1) Add and update information about an image or artifact in a manifest list or image index.
create podman-manifest-create(1) Create a manifest list or image index.
exists podman-manifest-exists(1) Check if the given manifest list exists in local storage
inspect podman-manifest-inspect(1) Display a manifest list or image index.
push podman-manifest-push(1) Push a manifest list or image index to a registry.
remove podman-manifest-remove(1) Remove an item from a manifest list or image index.
rm podman-manifest-rm(1) Remove manifest list or image index from local storage.

Assuming the Containerfile uses RUN instructions, the host needs a way to execute non-native binaries. Configuring this is beyond the scope of this example. Building a multi-arch manifest list shazam in parallel across 4-threads can be done like this:


$ platarch=linux/amd64,linux/ppc64le,linux/arm64,linux/s390x
$ podman build --jobs=4 --platform=$platarch --manifest shazam .

Note: The --jobs argument is optional. Do not use the podman build command's --tag (or -t) option when building a multi-arch manifest list.

Assuming example.com/example/shazam:$arch images are built separately on other hosts and pushed to the example.com registry. They may be combined into a manifest list, and pushed using a simple loop:


$ REPO=example.com/example/shazam
$ podman manifest create $REPO:latest
$ for IMGTAG in amd64 s390x ppc64le arm64; do
podman manifest add $REPO:latest docker://$REPO:IMGTAG;
done
$ podman manifest push --all $REPO:latest

Note: The add instruction argument order is <manifest> then <image>. Also, the --all push option is required to ensure all contents are pushed, not just the native platform/arch.

Special care is needed when removing and pushing manifest lists, as opposed to the contents. You almost always want to use the manifest rm and manifest push --all subcommands. For example, a rename and push can be performed like this:


$ podman tag localhost/shazam example.com/example/shazam
$ podman manifest rm localhost/shazam
$ podman manifest push --all example.com/example/shazam

podman(1), podman-manifest-add(1), podman-manifest-annotate(1), podman-manifest-create(1), podman-manifest-inspect(1), podman-manifest-push(1), podman-manifest-remove(1)


Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.