OCaml library and CLI for OCI and Docker image manipulation
OCaml 99.1%
Dune 0.3%
Other 0.6%
42 1 0

Clone this repository

https://tangled.org/gazagnaire.org/ocaml-oci https://tangled.org/did:plc:jhift2vwcxhou52p3sewcrpx/ocaml-oci
git@git.recoil.org:gazagnaire.org/ocaml-oci git@git.recoil.org:did:plc:jhift2vwcxhou52p3sewcrpx/ocaml-oci

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.md

container-image - Manage OCI and Docker Images in OCaml#

The container-image package provides a straightforward OCaml interface for interacting with OCI and Docker image specifications. It also provide a CLI tool (named `container-image) that allows users to fetch image layers or inspect image contents on your filesystem.

Features#

  • An OCaml API to manage OCI and Docker images
  • Fetch layers of an OCI or Docker image.
  • Inspect the contents of an image on the local filesystem, complete with a git history for easy diff inspection between layers.

Installation#

From Source#

git clone https://github.com/your-repo/container-image.git
cd container-image
opam install . --deps-only
dune build @install

Using OPAM (When available)#

opam install container-image

Usage#

Fetching Image Layers#

To fetch the layers of an image:

container-image fetch IMAGE_NAME[:TAG]

This command downloads the image layers to the current directory. By default TAG is latest.

Checking Out Image Contents#

To inspect an image's contents on the local filesystem:

container-image checkout [TAG]

After running this command, you'll find the image's contents extracted to the current directory. Importantly, this checkout will include a git history, allowing you to seamlessly inspect the differences between layers.

Documentation#

For an in-depth guide on the container-image commands and the underlying OCaml API, check out the official documentation.

Contributing#

Contributions to the container-image project are welcome!

Licence#

This project is licensed under the MIT License. See LICENSE for more details.