docs/cli/oci/build.md
mise oci buildmise oci build [FLAGS]src/cli/oci/build.rs[experimental] Build an OCI image from the current mise.toml
Each tool version becomes its own content-addressable OCI layer. Bumping a
tool version only invalidates that tool's layer — other tools, the base
image, and config are reused unchanged. The output directory conforms to
the OCI image-layout spec and can be consumed by skopeo, crane, or
podman load.
Requires mise settings experimental=true (or MISE_EXPERIMENTAL=1).
-o --output <OUTPUT>Output directory for the OCI image layout
Default: ./mise-oci
--from <FROM>Base image reference (overrides [oci].from and the oci.default_from setting)
-t --tag <TAG>Tag to record in the image index (the org.opencontainers.image.ref.name annotation)
--mount-point <MOUNT_POINT>Where to place tool installs inside the image (default: /mise)
--no-miseDo not embed the currently-running mise binary at /usr/local/bin/mise
Examples:
Build with defaults (debian:bookworm-slim base):
$ mise oci build
Build with a specific base image and tag:
$ mise oci build --from ubuntu:24.04 --tag myorg/dev:latest -o ./img
Inspect the result with skopeo:
$ skopeo inspect oci:./mise-oci
Push to a registry:
$ skopeo copy oci:./mise-oci docker://ghcr.io/me/dev:latest
Notes:
- asdf and vfox plugins are not supported in v1; use a different backend
(core, aqua, ubi, github, cargo, npm, go, pipx, spm, http) for each tool.
- The host mise binary is embedded at /usr/local/bin/mise by default;
build on the same OS/arch as your target image (or pass --no-mise).