Specify export target

Tell pack where you want your application image to be saved.

By default, when you build an application with pack build <my-image>, the image will be saved to a daemon, such as Docker or Podman, and you can view the image using a command such as docker image ls.

However, you could also choose to “publish” the application to an OCI registry, such as Docker Hub or Google Artifact Registry, or even to a local registry, by providing the pack build --publish flag.

Or, you could save the image in OCI layout format on disk by prefixing your image name with oci:, as in pack build oci:<my-image>. See here for more information about working with layout images.

FAQ: What am I using the daemon for?

Buildpacks always need to run in a containerized environment. Therefore, even when you publish the application image to a registry, pack is still using a daemon under the hood to create the build container(s) where buildpacks run.

The relationship between the build container and the application container can be seen in the diagram below:

build diagram