Provided by: charliecloud-builders_0.26-1_amd64 bug

NAME

       ch-build - Build an image and place it in the builder's back-end storage

SYNOPSIS

          $ ch-build [-b BUILDER] [--builder-info] -t TAG [ARGS ...] CONTEXT

DESCRIPTION

       WARNING:
          This script is deprecated in favor of using the desired builder directly; we have added
          some tips for Docker to the FAQ. It will be removed in the next release.

       Build an image named TAG described by a Dockerfile. Place the result  into  the  builder’s
       back-end storage.

       Using  this  script is not required for a working Charliecloud image. You can also use any
       builder that can produce a Linux filesystem tree directly, whether or not  it  is  in  the
       list  below. However, this script hides the vagaries of making the supported builders work
       smoothly with Charliecloud and adds some conveniences (e.g., pass HTTP  proxy  environment
       variables to the build environment if the builder doesn’t do this by default).

       Supported builders, unprivileged:

          • ch-image: Our internal builder.

       Supported builders, privileged:

          • docker: Docker.

       Experimental builders (i.e., the code is there but not tested much):

          • buildah:  Buildah  in  “rootless”  mode  with  no  setuid  helpers, using ch-run (via
            ch-run-oci) for RUN instructions. This mode is fully unprivileged.

          • buildah-runc: Buildah in “rootless” mode with setuid helpers, using the default  runc
            for RUN instructions.

          • buildah-setuid:  Buildah  in  “rootless”  mode with setuid helpers, using ch-run (via
            ch-run-oci) for RUN instructions.

       Specifying the builder, in descending order of priority:

          -b, --builder BUILDER
                 Command line option.

          $CH_BUILDER
                 Environment variable

          Default
                 docker if Docker is installed; otherwise, ch-image.

       Other arguments:

          --builder-info
                 Print the builder to be used and its version, then exit.

          -f, --file DOCKERFILE
                 Dockerfile to use (default: $CONTEXT/Dockerfile)

          -t TAG Name (tag) of Docker image to build.

          --help Print help and exit.

          --version
                 Print version and exit.

       Additional arguments are accepted and passed unchanged to the underlying builder.

BUGS

       The tag suffix :latest is somewhat misleading, as by default  neither  ch-build  nor  bare
       builders  will notice if the base FROM image has been updated. Use --pull to make sure you
       have the latest base image.

EXAMPLES

       Create an image tagged foo and specified by the file Dockerfile  located  in  the  context
       directory. Use /bar as the Docker context directory. Use the default builder.

          $ ch-build -t foo /bar

       Equivalent to above:

          $ ch-build -t foo --file=/bar/Dockerfile /bar

       Instead, use /bar/Dockerfile.baz:

          $ ch-build -t foo --file=/bar/Dockerfile.baz /bar

       Equivalent to the first example, but use ch-image even if Docker is installed:

          $ ch-build -b ch-image -t foo /bar

       Equivalent to above:

          $ export CH_BUILDER=ch-image
          $ ch-build -t foo /bar

REPORTING BUGS

       If  Charliecloud  was  obtained  from your Linux distribution, use your distribution’s bug
       reporting procedures.

       Otherwise, report bugs to: https://github.com/hpc/charliecloud/issues

SEE ALSO

       charliecloud(7)

       Full documentation at: <https://hpc.github.io/charliecloud>

COPYRIGHT

       2014–2021, Triad National Security, LLC