buildx/docs/reference/buildx_imagetools_create.md
Justin Chadwell 4ecca34a42 imagetools: give imagetools create a progress bar
Signed-off-by: Justin Chadwell <me@jedevc.com>
2022-07-29 14:29:27 +01:00

2.8 KiB

buildx imagetools create

docker buildx imagetools create [OPTIONS] [SOURCE] [SOURCE...]

Create a new image based on source images

Options

Name Type Default Description
--append Append to existing manifest
--builder string Override the configured builder instance
--dry-run Show final image instead of pushing
-f, --file stringArray Read source descriptor from file
--progress string auto Set type of progress output (auto, plain, tty). Use plain to show container output
-t, --tag stringArray Set reference for new image

Description

Create a new manifest list based on source manifests. The source manifests can be manifest lists or single platform distribution manifests and must already exist in the registry where the new manifest is created. If only one source is specified, create performs a carbon copy.

Examples

Append new sources to an existing manifest list (--append)

Use the --append flag to append the new sources to an existing manifest list in the destination.

Override the configured builder instance (--builder)

Same as buildx --builder.

Show final image instead of pushing (--dry-run)

Use the --dry-run flag to not push the image, just show it.

Read source descriptor from a file (-f, --file)

-f FILE or --file FILE

Reads source from files. A source can be a manifest digest, manifest reference, or a JSON of OCI descriptor object.

In order to define annotations or additional platform properties like os.version and os.features you need to add them in the OCI descriptor object encoded in JSON.

$ docker buildx imagetools inspect --raw alpine | jq '.manifests[0] | .platform."os.version"="10.1"' > descr.json
$ docker buildx imagetools create -f descr.json myuser/image

The descriptor in the file is merged with existing descriptor in the registry if it exists.

The supported fields for the descriptor are defined in OCI spec .

Set reference for new image (-t, --tag)

-t IMAGE or --tag IMAGE

Use the -t or --tag flag to set the name of the image to be created.

$ docker buildx imagetools create --dry-run alpine@sha256:5c40b3c27b9f13c873fefb2139765c56ce97fd50230f1f2d5c91e55dec171907 sha256:c4ba6347b0e4258ce6a6de2401619316f982b7bcc529f73d2a410d0097730204
$ docker buildx imagetools create -t tonistiigi/myapp -f image1 -f image2