The Open Container Initiative develops specifications for standards on Operating System process and application containers.
The Open Container Initiative Runtime Specification aims to specify the configuration, execution environment, and lifecycle of a container.
A container's configuration is specified as the config.json
for the supported platforms and details the fields that enable the creation of a container.
The execution environment is specified to ensure that applications running inside a container have a consistent environment between runtimes along with common actions defined for the container's lifecycle.
Platforms defined by this specification are:
linux
: runtime.md, config.md, features.md, config-linux.md, runtime-linux.md, and features-linux.md.solaris
: runtime.md, config.md, features.md, and config-solaris.md.windows
: runtime.md, config.md, features.md, and config-windows.md.vm
: runtime.md, config.md, features.md, and config-vm.md.zos
: runtime.md, config.md, features.md, and config-zos.md.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in RFC 2119.
The key words "unspecified", "undefined", and "implementation-defined" are to be interpreted as described in the rationale for the C99 standard.
An implementation is not compliant for a given CPU architecture if it fails to satisfy one or more of the MUST, REQUIRED, or SHALL requirements for the platforms it implements. An implementation is compliant for a given CPU architecture if it satisfies all the MUST, REQUIRED, and SHALL requirements for the platforms it implements.