pkgs.ociToolspkgs.ociTools is a set of functions for creating
containers according to the
OCI
container specification v1.0.0. Beyond that it makes no assumptions
about the container runner you choose to use to run the created container.
buildContainer
This function creates a simple OCI container that runs a single command
inside of it. An OCI container consists of a config.json
and a rootfs directory.The nix store of the container will contain all
referenced dependencies of the given command.
The parameters of buildContainer with an example value
are described below:
Build Container
buildContainer {
cmd = with pkgs; writeScript "run.sh" ''
#!${bash}/bin/bash
${coreutils}/bin/exec ${bash}/bin/bash
'';
mounts = {
"/data" = {
type = "none";
source = "/var/lib/mydata";
options = [ "bind" ];
};
};
readonly = false;
}
cmd specifies the program to run inside the container.
This is the only required argument for buildContainer.
All referenced packages inside the derivation will be made available
inside the container
mounts specifies additional mount points chosen by the
user. By default only a minimal set of necessary filesystems are mounted
into the container (e.g procfs, cgroupfs)
readonly makes the container's rootfs read-only if it is set to true.
The default value is false false.