logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

buildah-manifest - Create and manipulate manifest lists and image indexes.

Description

       The buildahmanifest command provides subcommands which can be used to:

       * Create a working Docker manifest list or OCI image index.
       * Add an entry to a manifest list or image index for a specified image.
       * Add an entry to an image index for an artifact manifest referring to a file.
       * Add or update information about an entry in a manifest list or image index.
       * Delete a working container or an image.
       * Push a manifest list or image index to a registry or other location.

Examples

Buildingamulti-archmanifestlistfromaContainerfile
       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
           $ buildah build --jobs=4 --platform=$platarch --manifest shazam .

       Note: The --jobs argument is optional, and the --manifest option should be used instead of the-t or --tag
       options.

   Assemblingamulti-archmanifestfromseparatelybuiltimages
       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
           $ buildah manifest create $REPO:latest
           $ for IMGTAG in amd64 s390x ppc64le arm64; do
                     buildah manifest add $REPO:latest docker://$REPO:IMGTAG;
                 done
           $ buildah 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.

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

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

Name

       buildah-manifest - Create and manipulate manifest lists and image indexes.

See Also

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

buildah                                          September 2019                              buildah-manifest(1)

Subcommands

       ┌──────────┬──────────────────────────────┬──────────────────────────────┐
       │ CommandManPageDescription                  │
       ├──────────┼──────────────────────────────┼──────────────────────────────┤
       │ add      │ buildah-manifest-add(1)      │ Add  an image or artifact to │
       │          │                              │ a  manifest  list  or  image │
       │          │                              │ index.                       │
       ├──────────┼──────────────────────────────┼──────────────────────────────┤
       │ annotate │ buildah-manifest-annotate(1) │ Add  or  update  information │
       │          │                              │ about an image  or  artifact │
       │          │                              │ in  a manifest list or image │
       │          │                              │ index.                       │
       ├──────────┼──────────────────────────────┼──────────────────────────────┤
       │ create   │ buildah-manifest-create(1)   │ Create a  manifest  list  or │
       │          │                              │ image index.                 │
       ├──────────┼──────────────────────────────┼──────────────────────────────┤
       │ exists   │ buildah-manifest-exists(1)   │ Check  if  a  manifest  list │
       │          │                              │ exists in local storage.     │
       ├──────────┼──────────────────────────────┼──────────────────────────────┤
       │ inspect  │ buildah-manifest-inspect(1)  │ Display the  contents  of  a │
       │          │                              │ manifest   list   or   image │
       │          │                              │ index.                       │
       ├──────────┼──────────────────────────────┼──────────────────────────────┤
       │ push     │ buildah-manifest-push(1)     │ Push  a  manifest  list   or │
       │          │                              │ image index to a registry or │
       │          │                              │ other location.              │
       ├──────────┼──────────────────────────────┼──────────────────────────────┤
       │ remove   │ buildah-manifest-remove(1)   │ Remove   an   image  from  a │
       │          │                              │ manifest   list   or   image │
       │          │                              │ index.                       │
       ├──────────┼──────────────────────────────┼──────────────────────────────┤
       │ rm       │ buildah-manifest-rm(1)       │ Remove  manifest  list  from │
       │          │                              │ local storage.               │
       └──────────┴──────────────────────────────┴──────────────────────────────┘

Synopsis

       buildah manifest COMMAND [OPTIONS] [ARG...]

See Also